インストールに失敗するアプリがあります。ベンダーによると、おそらく ini_set() が無効になっているとのことです。どうすればこれを確認できますか?
3 に答える
これについて調査したところ、ini_set が FALSE を返さず、空の文字列を返すことがあることがわかりました。これは、gabriel1836 によって指摘された URL に記載されています。機能するかどうかを確認する最善の方法は、最初に php.ini の disable_functions フラグをチェックして、無効になっているかどうかを確認し、(無効になっていない場合) 値を変更し、その直後に phpinfo() をエコーすることです。local 列で値が変更された場合、ini_set が機能することがわかります。
disable_functions
php.iniファイルで設定を確認できます。それが私が考えることができるほとんど唯一のことです。ただし、共有ホスティングなどで実行している場合を除いて、設定されるとは思えません。
php_admin_flag
また、Apache構成を使用して、またはApache構成で関連する設定が指定されているかどうかを確認することもできます。これによりphp_admin_value
、設定が効果的に「ロック」さini_set()
れ、変更されなくなります。
php.ini の CHANGEABLE ディレクティブを確認してください。 http://us3.php.net/manual/en/ini.php#ini.list
ini_set 関数が機能したかどうかを確認するには、戻り値をチェックして、機能したことを確認できます。 http://us3.php.net/manual/en/function.ini-set.php
コードは次のようになります。
<?php
if(ini_set('error_reporting', 'ALL') === false)
{
// Perform failure handling logic
}
?>