- 2008-12-22 (月) 22:09
- PHP
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
- Newer: Python関西勉強会に参加しました&発表資料
- Older: Python関西勉強会で発表してきます
コメント (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%2Fphshphsh、関数補完が便利なので私も愛用しております。
- 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