Home > PHP > phshをPHP5.2系で使うパッチ

phshをPHP5.2系で使うパッチ

  • 2008-12-22 (月) 22:09
  • PHP
この記事の所要時間: 150

Python関西勉強会に向けてちょろちょろPythonを触っていて思うのが、インタラクティブシェル環境があることの利便性ですね。ちょろっと書いてぱっと動かせるのは学習にはもってこいです。

で、PHPといえば「php -a」があるのですが、さらに便利なphshをふと思い出し、使ってみることにしました。

動作環境はPHP5.2.8のソースインストールです。

ダウンロードして起動するとE_STRICTなエラーがもろもろ出てきました。

PHP Strict standards:  Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in /home/shin/src/phsh.org on line 71
PHP Stack trace:
PHP   1. {main}() /home/shin/src/phsh.org:0
PHP   2. PHSH->main() /home/shin/src/phsh.org:204

phshはPHPで書かれているのでソースを見てみると、いちおうE_STRICTをdisableするコードが書かれていたのですが、ここが上手くE_STRICTフラグを落とせていないようでした。

手元の環境では、error_reporting=E_ALLだったので、E_ALL ^ E_STRICTすると逆にE_STRICTが有効になってしまいます。という事でこれを修正するパッチを作りました。

あとついでにvariables_order = “GPCS”な環境用に$_SERVERを$_ENVに格納する処理もくわえています。

— phsh.org 2008-12-22 18:34:38.000000000 +0900
+++ phsh 2008-12-22 19:14:38.000000000 +0900
@@ -2,7 +2,10 @@
google先生に聞いてみても誰もこの現象にぶち当たっていないようなので、phsh使う人はE_STRICTを有効にしてるという事でしょうね。。。:-D

# phshはとっても便利に使わせて頂いてます。ありがとうございますー。

phsh(PHPでシェル)を公開します – ベイエリア情報局

追記 [2008/12/23]:

phshの最新版はcodereposにあるようです。(させざきさ、情報ありがとうございました。)こちらはE_STRICTの件は修正されているようです。

http://coderepos.org/share/browser/lang/php/misc/phsh

Pocket

follow us in feedly

コメント (Close):2

させざき 08-12-23 (火) 4:15

phshはcodereposの方にあがってるのが新しいと思
いますが、error_reportingのとこも変更が加わってますね。
http://coderepos.org/share/changeset?new=9674%40lang%2Fphp%2Fmisc%2Fphsh&old=9673%40lang%2Fphp%2Fmisc%2Fphsh

phsh、関数補完が便利なので私も愛用しております。

shinbara 08-12-23 (火) 10:26

させざきさん:
情報ありがとうございますー。
おおーcodereposに上がっていたんですね。

E_STRICTの件も修正されていますね。
こちらを使ってみます!

トラックバック:0

このエントリーのトラックバックURL
/blog/2008/12/phsh_php_52_patch.html/trackback
Listed below are links to weblogs that reference
phshをPHP5.2系で使うパッチ from Shin x blog

Home > PHP > phshをPHP5.2系で使うパッチ

検索
フィード
メタ情報

Return to page top