PHP Webアプリケーションで問題が発生しました。 $_GET
が定義されていないため、理由なく10〜20時間後に動作を停止します。未定義の変数_GET
要求は次のようになります。
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
$id = intval($_GET['id']);
} else {
die('wrong id');
}
$_GET
リターンNULL
ののvar_dump:
http://host/index.php?id=1
インデックスファイルのようなlilのコードスニペットを持っています。 $_SERVER
のvar_dumpは、REQUEST_METHOD
がGETであり、QUERY_STRING
がid = 1であることを示しています。 var_dump()
の$_REQUEST
はid => 1を示しているので、それは機能していないのは$_GET
です。
これが起こると、サーバー上のすべてのWebアプリケーションとすべてのユーザーに発生します。ウェブサーバの再起動後、何時間も何度も何度も作業しています...
システムはWindows 2008 R2、Apache 2.4.18 32ビット/ PHP 7.0.4 32ビットです。
サウンズ? – Epodax
Alankarもっと詳しくphp.netのマニュアルによると "この機能はPHP 5.3.0以降では廃止され、PHP 5.4.0では削除されました。"したがって、PHP 7.0.4のインストールには関係ありません。それに加えて、いくつかのマイナーな変更(パス、実行時間、拡張子gd2、mbstring、oci8、charset、および日付/時刻設定)を含む、ほとんどのデフォルトのphp-production.iniがあります。 – aLpenbog
これは明らかな質問ですが、Apache/PHPエラーログには何かがありますか? '$ _GET'の代わりに[$ HTTP_GET_VARS](http://www.php.net/manual/en/reserved.variables.get.php)(スーパーグローバルではなく非推奨)を試してみるとどうなりますか? – Egg