Bir php web uygulama ile ilgili bir sorunum var. Hiçbir nedenle 10-20 saat sonra çalışmayı durdurur çünkü $_GET
tanımlanmamıştır.Tanımsız değişken _GET
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
$id = intval($_GET['id']);
} else {
die('wrong id');
}
$_GET
getiri NULL
bir var_dump: dizin dosyası gibi bir lil kod parçacığını sahip
http://host/index.php?id=1
: gibi
istek görünüyor. $_SERVER
var_dump, REQUEST_METHOD
GET ve QUERY_STRING
kimlik = 1 gösterir. var_dump()
, $_REQUEST
, id => 1 gösterir, bu nedenle çalışmayan yalnızca $_GET
.
Bu olduğunda, sunucudaki tüm kullanıcılar ve tüm kullanıcılar için olur. Web sunucusunu yeniden başlattıktan sonra her şey birkaç saatliğine yeniden çalışıyor ...
Sistem Windows 2008 R2, Apache 2.4.18 32 Bit/PHP 7.0.4 32 Bit.
Sesler? – Epodax
Alankar Daha fazla php.net kullanım kılavuzuna göre "Bu özellik PHP 5.3.0'dan itibaren DEPRECATED ve PHP 5.4.0'dan itibaren kaldırıldı." Yani bir PHP 7.0.4 yüklemesi için uygun olmamalı. Bunun yanında, bazı küçük modifikasyonlara sahip varsayılan php-production.ini (yollar, yürütme zamanı, uzantılar gd2, mbstring, oci8, karakter kümesi ve tarih/saat ayarları) oldukça fazladır. – aLpenbog
Bunun açık bir soru olduğunu biliyorum, ancak Apache/PHP hata günlüğünde bir şey var mı? [$ _GET] yerine [$ HTTP_GET_VARS] (http://www.php.net/manual/en/reserved.variables.get.php) (süper küresel değil ve kullanımdan kaldırılmış) denerseniz ne olur? – Egg