専用の CentOS Linux サーバーで、PHP CLI が機能しなくなりました。CLI を必要とする開発者によって作成されたスクリプトがあり、これらのスクリプトは昨日まで機能していました。同時に発生したもう 1 つの奇妙な点は、/usr/local/bin/ 内の php へのシンボリック リンクが失われたことです。私はそれを作り直しましたが、まだ機能していません。
私の開発者は、このスクリプトをコマンドラインから実行すると機能しないと言います。
<?php
echo 'php_sapi_name()='. php_sapi_name() .'<br />';
if(php_sapi_name() == 'cli' && empty($_SERVER['REMOTE_ADDR'])) {
echo "ENVIRONMENT IS CLI";
} ELSE {
echo "ENVIRONMENT IS NOT CLI";
}
//echo phpinfo();
コマンドラインから返されるものは
php_sapi_name()=cgi-fcgi<br />ENVIRONMENT IS NOT CLI
php -v を実行すると、次の出力が得られます
PHP 5.3.8 (cgi-fcgi) (built: Feb 2 2012 14:48:13)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies
この問題を回避するためにスクリプトを変更することになりましたが、変更された方法はまだ奇妙です