Dosyanın gerçek, tam içeriği:
<?php
error_reporting(E_ALL);
ini_set(display_errors, 'on');
try {
//$x = strtotime('blah');
$x = new DateTime('lol');
} catch ( Exception $e ) {
echo $e->getMessage();
}
DateTime Yapıcı bunu ayrıştırmak değil, eğer bir özel durum gereken bir dize, kabul eder. Bu benim yerel makine üzerinde çalışır ama benim uzak sunuculardan birinde durum yakalandı (ve yine, ben am try / catch ve AYNI ÖZDEŞ kodu kullanarak) değildir:
Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct() [function.DateTime---construct]: Failed to parse time string (lol) at position 0 (l): The timezone could not be found in the database' in /var/www/html/site_com/rez/date.php:9 Stack trace: #0 /var/www/html/site_com/rez/date.php(9): DateTime->__construct('lol') #1 {main} thrown in /var/www/html/site_com/rez/date.php on line 9
Istisna yakalanmış değil uzak sunucuda için Ayarlar:
PHP Version 5.2.5
date date/time support enabled "Olson" Timezone Database Version 2007.9 Timezone Database internal Default timezone America/Chicago
Directive Local Value Master Value date.default_latitude 31.7667 31.7667 date.default_longitude 35.2333 35.2333 date.sunrise_zenith 90.583333 90.583333 date.sunset_zenith 90.583333 90.583333 date.timezone no value no value
O iş yapar benim yerel ayarları:
PHP 5.2.10
date date/time support enabled "Olson" Timezone Database Version 0.system Timezone Database internal Default timezone System/Localtime
Directive Local Value Master Value date.default_latitude 31.7667 31.7667 date.default_longitude 35.2333 35.2333 date.sunrise_zenith 90.583333 90.583333 date.sunset_zenith 90.583333 90.583333 date.timezone no value no value
Yerel olarak, özel durum yakalar ve hatayı yazdırır. date.timezone
hem de hiçbir değer budur.
Belki de kapalı sadece benim iç sisteminizin dilimleri bulunuyor? Benim yerel kutu Ubuntu ve benim uzak CentOS, onlar muhtemelen tutarsız konum ama PHP hala istisna yakalamak gerekir?
Ben yönetici haklarına sahip değilsiniz beri Bilginize uzak kutusunu PHP güncelleme olamaz.