Я работаю над PHP-скриптом для Wordpress, и я делаю вызов API для нашей системы и включает в себя строку DateTime .Net для Json. Используя регулярные выражения, я разделил их на секунды после Unix Epoch. Насколько я понимаю, я должен был бы затем создать объект DateTime, используя DateTime :: createFromFormat ('U', $ time); но сценарий прекращает выполнение, когда он встречает его (он выполняет все до этой точки). Я завернул его в try/catch, но даже это не выполняется, он просто «умирает», я думаю.PHP прекращает выполнение, когда достигает строки кода
Что здесь происходит?
preg_match_all('/\d+/', $post->discussion->posttime, &$ms);
$ms = $ms[0];
var_dump($ms[0]);
$time = substr($ms[0], 0, strlen($ms[0]) - 3);
var_dump($time);
$date = DateTime::createFromFormat('U', $time);
//Nothing after the above line is executed
var_dump($date);
...
Выход на страницу выглядит следующим образом:
string(13) "1332244919776"
string(10) "1332244919"
Ничего я поставил после того, как появится строка DateTime (или, насколько я могу судить, казнены). Я использовал действительные временные метки Unix из Интернета, и он по-прежнему не работает. Я также пробовал другие форматы («Y-m-d») с соответствующими форматами строк даты, и ни один из них не работал. Создание регулярного объекта 'now' DateTime с использованием новой DateTime(); работает.
Добавить эту строку перед чем-либо еще: 'error_reporting (E_ERROR | E_WARNING | E_PARSE | E_NOTICE);'. Затем запустите свой скрипт и сообщите нам о выходе. –
Да, косвенным ответом является то, что вы должны включить отчет об ошибках и выяснить, что происходит. Добавьте предложенный штрихкод. Вам может потребоваться добавить строку 'ini_set (" display_errors "," 1 ");' также. – octern