[PHP-users 34597] phar形式のファイルが実行されない
おさ
osapon @ gmail.com
2009年 5月 28日 (木) 14:50:28 JST
こんにちは。おさと申します。
go-pear.pharに使われているphar形式でインストーラを作成しようと
しているのですが、手元の開発サーバで実行されません。
phar形式のファイルについては、pearの中にあった
PHP_Archive_Creatorを使用して作成しました。
これで作ってファイル(install.phar)を拡張子phpに変更し、ブラウザから
呼び出してみたのですが、ソースがそのまま表示されてしまいます。
そして問題のサーバではgo-pear.pharも同様に動作しませんでした。
作成したpharファイルが壊れているのかと思ったのですが、
さくらインターネットや@pagesのサーバにアップすると、
正常に実行されました。
以上のことで、問題は開発サーバ側にあると思うのですが、
原因が分からずに困っております。
環境(問題の開発サーバ)
CentOS 5.2
Apache 2.0.63(ソースからインストール)
PHP 5.2.6 モジュールモード(ソースからインストール)
'./configure'
'--prefix=/usr/local/php'
'--with-config-file-path=/usr/local/php/etc'
'--mandir=/usr/share/man' '--disable-debug'
'--enable-inline-optimization' '--enable-mbstring'
'--enable-mbregex' '--enable-zend-multibyte' '--with-bz2'
'--with-zlib' '--enable-magic-quotes' '--with-mysql=/usr/local/mysql'
'--with-pdo-pgsql=/usr/local/pgsql' '--with-pgsql=/usr/local/pgsql'
'--with-apxs2=/usr/local/apache2/bin/apxs' '--with-gd=/usr/local'
'--with-jpeg-dir=/usr/local' '--with-png-dir=/usr/local'
'--with-freetype-dir=/usr/local' '--with-regex' '--with-pcre-regex'
'--disable-ipv6' '--with-mcrypt' '--with-iconv-dir=/usr/local'
'--with-curl=/usr/local'
--with-bz2や--with-zlibを付けてはみましたが、無圧縮のpharを作っても
違いはありませんでした。
peclのphar.soも入れてみたのですが、これも変化はありませんでした。
さくらインターネットのサーバは
FreeBSD 7.1
PHP 5.2.8 CGIモード
です。phar.soモジュールは読み込まれていません。
ちなみに、go-pear.phpは真っ白になって動きませんでした。PHP4の頃は
動いていたような…。
また今回作成したpharファイルでさくらインターネットにアップしたとき、
ブラウザから見たルートディレクトリだと動作しますが、一つでも階層が
下がると真っ白になりました。(これは実行されるPHPが悪いのだと思います。)
apacheのエラーログなどにも、なにもでないので、原因の見当が付きません。
同じ現象が発生した方、対処法をご存じの方がおられましたら、
助言をいただけると助かります。
暫定的に、インストーラ(php)とパッケージ(phar)を分けて、
展開しつつインストールすることはできました。
出来れば一つにまとめたいなと思っております。
+-----------------------------------------------------------------------+
HANDLE:おさ
EMAIL :osa @ osa-p.net twitter: http://twitter.com/osapon
+-----------------------------------------------------------------------+
PHP-users メーリングリストの案内