2012年01月28日

[Debian, Eclipse, PDT] Eclipse(Indigo)でPHP Web page実行ができない

開発用PCをWin7 64bitの、メモリも今までよりは多いものに換えたのを機に、今までテスト用サーバは10年くらい前の古PCを使っていたのを、Win7上の仮想マシンにDebian Squeeze 64bit を入れたものに乗り換えようと作業中。

Eclipse(Indigo)を入れ、PDTも入れて、Win上で作成途中だったプロジェクトのソースも(仮想マシン上の)Debian環境に移して、とりあえず簡単な単独動作できるようなページを Run as PHP Web page で走らせてみたら。

Unable to load page
Problem occurred while loading the URL http:/localhost/hoge/fuga/monya.php

URL cannot be shown

と出るばかりで、まともに動作してくれない。
この該当URLを、普通のWebブラウザ(Chrome)で呼び出すと、期待通りのページが表示されるので、ApacheとPHPは問題無い。問題はEclipse + PDT ということになる。
ちゃんとAliasも設定したし、何が悪いやらさっぱり。

「Eclipse PDT」とUnable to load page や Problem occurred while loading the URL やらの文言を合わせてGoogleにかけてみても、捗々しいものは見つからない。
一つ見つかったのは、なにやらWebkitGTKのバグとか何とか言っているようだけど、こっちで利用できるような、これといった解法が見えない。

色々検索したり試行錯誤したりの果てに、駄目元で「linux eclipse pdt "url cannot be shown"」で検索してやっと先人の例を見つけた。

[eclipse pdt] たかが"/"1文字にしてやられた件

生成されるURLにスラッシュが一本足りないだけ…
こんなもん、気づかんわぁーーーい!!!

まさか自動生成がそんな間抜けなことしてると思わない先入観で見てましたから、悩んだこと悩んだこと。
上記ブログの記事一つで助かりました。

というわけで解決策は、

  • 最初にRunするときに出てくる、Launch URL指定用ダイアログに記載されているURLを手で直す(スラッシュを付け足す)
  • Run Configurations のダイアログを出して、一番下のURL欄のURLはちゃんとしてる(スラッシュが足りなくない)のを確認してから、そのダイアログの[Run]ボタンで実行。

のどちらかをすればOK。どちらも一つのファイルについては最初に一回だけすれば、後は(二回目以降は)気にせず普通に実行させられる。
タグ:Eclipse PDT PHP
posted by 管理者 at 21:05| Comment(0) | TrackBack(0) | Eclipse | このブログの読者になる | 更新情報をチェックする

2011年12月26日

JavascriptやCSSにはしっかりキャッシュを効かせたい

動的コンテンツのWebサイトでもJavascriptとかCSSは、そうそう頻繁に内容が変わるわけでなし、そういうのは比較的長時間キャッシュされても良いんじゃないかとか思って、Apacheにどう設定するべ? と、やり方を探してみた。

ファイルの種類毎にキャッシュ有効期間の長短を決められれば良いなという観点で、参考にさせて貰ったのはここ。→ブラウザに画像、CSS、Javascriptなどをキャッシュさせて表示を高速化させる方法

うちにもmod_expiresが入っているのを確認後、参考ページに例示されてる設定内容を殆どそのまま、単に具体的な時間(秒数)を自分の思うまま適当に書換え、httpd.confにペースト、httpdの再起動。別にエラーもウォーニングも出ずにあっさりOK。
posted by 管理者 at 10:55| Comment(0) | TrackBack(0) | サーバ | このブログの読者になる | 更新情報をチェックする

2010年10月17日

Apache, CentOS: pcfg_openfile: unable to check htaccess file

Apacheでバーチャルホストで運営する場合、サイト毎にユーザを作成し、そのユーザのホームディレクトリにサイトの内容(ファイル達)を置くという形態は、そんなに稀有なことではないと思いますが、こうやって作成したサイトを最初に閲覧しようとしたときに、毎度毎度以下のエラーを食らいます。


[crit] [client ???.???.???.???] (13)Permission denied: /home/hoge/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable


久々にこういう作業をしたときには、以前の失敗と解決法を忘れてて、そしてこの不適切なエラーメッセージのおかげも相まって、しばらく悩みます。なにしろ.htaccessなんて置いてなくてもこのメッセージですから「無いファイルのパーミッションとか言われても…」となります。

このエラーの真の原因は、サイト用に新規作成したユーザのホームディレクトリに検索パーミッションが無いということ。
対処は、ファイル検索の許可をしてやること。

エラーが出る状態

drwx------ 4 hoge hoge 4096 10月 17 06:33 hoge←エラーを食らうサイトのディレクトリ
drwx-----x 7 huga huga 4096 10月 17 06:44 huga
drwx-----x 4 hage hage 4096 6月 17 13:47 hage
drwx-----x 4 hare hare 4096 5月 19 18:01 hare


対処

drwx-----x 4 hoge hoge 4096 10月 17 06:33 hoge←'x'のパーミッションを設定してやればOK
drwx-----x 7 huga huga 4096 10月 17 06:44 huga
drwx-----x 4 hage hage 4096 6月 17 13:47 hage
drwx-----x 4 hare hare 4096 5月 19 18:01 hare

posted by 管理者 at 08:25| Comment(0) | TrackBack(0) | サーバ | このブログの読者になる | 更新情報をチェックする

2010年09月04日

Thunderbird 3.1.2 ででもRuler Barアドオンを使い続けたい

メール作成ダイアログで、入力している文面の行の長さを手軽に知るのにRuler Barというアドオンに頼っていたわけですが、サンダーバードがバージョンアップされて3.1.2になるときに「Ruler Barはこのバージョンに追随出来てない」ということで自動的に無効化されました。つまり使えなくなった。

「まあ、ちょっと待ってれば対応されるだろう」と思って待っていたのですが、いつまで経っても使えるようになってくれない。

「他に同種のものは無いかな?」と検索してみたけど、ルーラー出してくれるのはこれ(Ruler Bar)くらいしか見当たらない。

以前、目的は同じような(長すぎる行を書いてしまうことを防ぐ)もので、70桁なら70桁を超える領域の背景色を変えて表示してくれるアドオンが有ったような気がするが、その名前も思い出せない。

というわけで、最新のThunderbird(3.1.2)でRuler Barアドオンを無理やり使ってしまえる方法は無いかと探してみた。

『メーラーソフト「Thunderbird 3.1.2」でアドオン「Ruler Bar」を使えるようにする』
というのがあった。

おかげで「方法はあるんだ」ということは判った。
だけどアドオンのアーカイブファイルを手動でダウンロードして展開して(略
というのは、便利なアドオン機構に慣れた身にはちょっと面倒くさい。

で、駄目元でちょっと違う方法を試してみたら出来た。

Thunderbirdには既にRuler Bar(0.3.2009121601)がインストールされているとして、

  1. Thunderbirdを終了させる
  2. Thunderbirdのprofileフォルダ の下のextensionsフォルダ(…/Profiles/ランダム英数字.default/extensions)を覗くと、rulerbar@piro.sakura.ne.jp というフォルダがあるので、このrulerbarのフォルダを他所に移動させる。
  3. Thunderbirdを起動させて、メインメニュー→ツール→アドオン で出てくるアドオン一覧から、Ruler Bar が消えていることを確認
  4. Thunderbirdを終了させる
  5. さっき移動させたrulerbarのフォルダ内の install.rdf を、適当なテキストエディタ(メモ帳とか)で開く
  6. install.rdf 内の"maxVersion="3.0.*"を"maxVersion="3.1.*"に書換えて保存
  7. rulerbarのフォルダを元の場所に戻す
  8. Thunderbirdを起動させて、アドオン一覧を表示させてRuler Barが有効化された状態で表示されているのを確認
  9. メール作成画面(ダイアログ)を出してみると、ちゃんとルーラが表示されている。Ruler Barの設定をちょっと変えてみたら、その変更も反映されている。


という感じで、私のところではうまくいきました。
環境はWinXP Home。
posted by 管理者 at 09:44| Comment(0) | TrackBack(0) | | このブログの読者になる | 更新情報をチェックする

2010年09月01日

DTIのServersman@VPSの割当てメモリが倍になった。というわけでTomcatに再挑戦

本日DTIより、Serversman@VPSの各プランへの「最大」割当てメモリが倍になったとのアナウンスがあった(最低保証値は以前のまま)。つまり私の場合は、今まで512MBだったから1GBまで使えるようになったはず。
早速SSHつないで、freeで確かめてみるとほんとに増えてる、1GBほど割り当てられてる。

ここで、「せっかくメモリも増えたことだから、以前駄目だったTomcatのインストールにもう一度挑戦してみよう」と再び思い立った。

以前試したときは、Tomcat(6)の起動は出来たのだけど、終了させようとすると

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

というエラーメッセージが出てきて、Tomcatを終了させられないという状態でした。
以前の私は「ふーん、そうかメモリが足りないのかぁ。まあ512MでApacheとMySQL同時に動かしてるとこにTomcatだとこんなものなのかな」と素直に思い、Tomcatも別にその時点で必要というわけでもなかった(出来ればやってみたいという程度)ので、「VPSでJava/JSP」計画は放り出していました。

しかし今、利用できるメモリは(最大で)1GB。これで出来ないはずはない。
で、やってみたのですが、しかし以前と同じ症状。
こりゃ流石におかしい。

というわけで、ちょっと真面目に調べてみました。
結局のところ、エラーメッセージに出ている通りJavaへ利用を許可しているメモリ量が不十分なのが原因。
なので、Javaに対してもうちょっとメモリを割当ててやれば良い。
そのための設定は、$CATALINA_HOME/bin/catalina.sh に書けば良い。(私の場合は、冒頭コメント部分直後に、このための設定の行を追加しました)

(略)
# LOGGING_CONFIG="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
#
# $Id: catalina.sh 885002 2009-11-27 20:51:03Z markt $
# -----------------------------------------------------------------------------

CATALINA_OPTS=" -server -Xms160m -Xmx160m "

# OS specific support. $var _must_ be set to either true or false.
cygwin=false
os400=false
(略)


Tomcatが停止している状態で上のような修正を施し、Tomcatを始動。
次に停止を指令すると、エラーも出さずにすっきり終了。

これで、以後はServlet/JSP遊びも出来そうです。
posted by 管理者 at 21:28| Comment(0) | TrackBack(0) | サーバ | このブログの読者になる | 更新情報をチェックする

2010年07月14日

Linux/Debian/Lenny Eclipse/Helios/PDT リモートデバッグ用設置・設定

試験用Webサーバ(Linux/Debian/Lenny)上のPHPスクリプトを、手元のWindows機上のEclipse/PDTからリモートデバッグしたい。

[1]phpのバージョン確認
phpinfo()で見ると、5.2

[2]ZendDebuggerのサーバ版を入手
http://www.zend.com/en/products/studio/downloadsから"Studio Web Debugger"をダウンロード。(要・無料登録のアカウント)

[3]入手したアーカイブファイルを展開し、以下はREADMEに従う
[3-1]ZendDebugger.soを配置する
アーカイブを展開したら、4_3_x_comp とか 5_2_x_comp とかいう名前のディレクトリあるので、自分とこのPHPのバージョンに合ったもの(うちの場合は5_2_x_comp)の下にあるZendDebugger.so を、とりあえず/usr/share/php に置いてみる。

[3-2]php.iniの書き換え
/etc/php5/apache2/php.ini に3行加える

zend_extension=/usr/share/php/ZendDebugger.so
zend_debugger.allow_hosts=192.168.0.0/24 LAN内からは呼べるとしておく
zend_debugger.expose_remotely=always


[3-3]
アーカイブに同梱されていた"dummy.php"をドキュメントルートにコピー

[3-4]
アパッチをリスタート

サーバ側の作業はこれだけでOK(のはず)。

posted by 管理者 at 13:03| Comment(0) | TrackBack(0) | Eclipse | このブログの読者になる | 更新情報をチェックする

2010年06月24日

Eclipse/Helios PDTのインストール

Eclipseのメジャーバージョンアップ、Heliosを早速インストールしてみました。
で、このところPHPもちょこちょこ触っているので、PDTも入れようとしたわけです。

PDTが欲しければ、"Eclipse for PHP Developers"を選んでダウンロード、インストールすれば良いようなものですが、やっぱ「メインはJava, それに付加的にPHP」というようなインストールを、雰囲気的に選んでしまうわけです、個人的には。

で、Eclipse自体は"Eclipse IDE for Java Developers"をインストール。

「ここにPDTをインストールするにはどうするんだっけな? 前に入れたのは2年くらい前だったもんな、覚えてないよ」状態。

ぐぐってあちこち見てみても、やっぱ現時点では「Heliosに」「PDT2.2を」というようなピンポイントな情報は、やっぱ引っかからない。
以前のバージョンに関して書かれているサイト達を見ると、「GEFをインストールし…」とか「DLTKをインストールし…」とか色々事前準備について書かれていて、なんか面倒い。(以前もこんなだったかなぁ?)

結局、駄目元でやってみた方法で、あっさり簡単、面倒無しの一発インストール出来たみたいです。

[メインメニュー]→Help→Install New Software
helios1.png


この"Work with"のコンボボックスで、"Helios"を選ぶ。
helios2.png


中段の欄に表示されているツリーの、"Web, XML, and Java EE Development"ノードを開くと
helios3.png


子ノードの下のほうに"PHP Development Tools (PDT) SDK Feature"というのがあるから、それにチェックをつけて、[Next]ボタンを押す。

後は、ウイザードに促されるままにライセンス条件承諾やらを経て、インストール終了。

入ってるかどうか、[メインメニュー]→Help→About Eclipse ダイアログの中の、[Installations Details]ボタンを押してみる。
helios4.png


これだけで、他の必要なものも含めて、あっさり入ってくれたみたいです。
タグ:Eclipse PHP PDT
posted by 管理者 at 09:28| Comment(0) | TrackBack(0) | Eclipse | このブログの読者になる | 更新情報をチェックする

2010年05月16日

2ちゃん専ブラをV2Cに変えてみた。「すべてのタブの新着チェック」機能は無いの?

これまでJane Style Doeを使ってたんだが、V2CがTwitterクライアント、それもマルチアカウント対応のそれにもなると聞いて、ちょいと乗り換えを試みてみた。
Janeのときのログなんかは、インポート機能のおかげで無駄にならずに済んだ。

で、ちょっと使ってて「えっ? 無いの…?」とちょっとブルーになりかけたのが、「すべてのタブの新着チェック」かそれに相当する機能が見当たらなかったこと。
「あれほど頻用する機能が(後発品のくせに)無いはずがない」と思い、あきらめずに探してみた。

結果、「すべてのタブの新着チェック」と同じように
・現在開いているスレッド全ての
・新着チェック
を行えることが判明。

どうするか?

1.スレッドのタブを右クリックで「タブのスレ一覧」を選択
2.そうするとスレッド一覧ペインに「タブのスレ一覧」というタブが出現
3.このタブを表示している状態で「スレッド一覧を更新する」ボタン押下

これで、「すべてのタブの新着チェック(現在開いているスレッド全部の一括新着チェック)」は可能。
タグ:2ちゃん
posted by 管理者 at 10:30| Comment(0) | TrackBack(0) | | このブログの読者になる | 更新情報をチェックする