![](/img/trans.png)
[英]PHP 5.4.30 mail() function gives Server Not Found Error for Gmail/yahoo Email id
[英]Strange Callback Error PHP 5.4.30
我在開發和生產服務器上具有相同的PHP文件。 這兩個服務器都運行相同版本的PHP,相同的模塊,相同的解釋器等。只有開發服務器才能成功運行代碼。 我不知道是什么原因造成的。 我通常會將此歸結為PHP版本差異,但事實並非如此。
兩台服務器都運行PHP 5.4.30。
這是有問題的代碼:
$inputArray = array('Tuesday' => null, 'Friday' => null, 'Monday' => null, 'Thursday' => null, 'Wednesday' => null);
$desiredIndexOrder = array('Monday' => 5, 'Tuesday' => 4, 'Wednesday' => 3, 'Thursday' => 2, 'Friday' => 1);
uksort($inputArray, function($a, $b) use ($desiredIndexOrder) {
return $desiredIndexOrder[$a] > $desiredIndexOrder[$b] ? -1 : 1;
});
echo print_r($inputArray);
開發輸出(正確):
數組([Monday] => [Tuesday] => [Wednesday] => [Thursday] => [Friday] =>)1
生產產量:
警告:uksort()期望參數2是有效的回調,在第9行數組/home/friendso/public_html/test.php中沒有給出數組或字符串([星期二] => [星期五] => [星期一] => [星期四] => [星期三] =>)1
將回調寫為實際函數可以解決此問題,但是我很好奇可能導致此問題的原因。
正如Sammitch在對我的原始問題的評論中指出的那樣,eAccelerator確實是問題所在(不確定確切原因)。 要禁用eAccelerator,我在php.ini文件中做了這些更改,然后重新啟動了Apache。
eaccelerator.enable 0
eaccelerator.optimizer 0
該代碼現在可以按預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.