Также известна как Белая страница смерти или Белый экран смерти . Это происходит, когда отчет об ошибках отключен, и произошла фатальная ошибка (часто синтаксическая ошибка).
Если вы включили протоколирование ошибок, вы найдете конкретное сообщение об ошибке в своем журнале ошибок. Обычно это будет в файле php_errors.log, либо в центральном месте (например, /var/log/apache2
во многих средах Linux), либо в самом каталоге самого скрипта (иногда используется в среде совместного размещения).
Иногда может быть более простым временно отображать ошибки. На белой странице отобразится сообщение об ошибке. Будьте осторожны, потому что эти ошибки видны всем, кто посещает веб-сайт.
Это легко сделать, добавив в начале скрипта следующий код PHP:
ini_set('display_errors', 1); error_reporting(~0);
Код включит отображение ошибок и установит отчетность на самый высокий уровень.
Поскольку во время выполнения ini_set()
он не влияет на синтаксические ошибки синтаксиса. Эти ошибки появятся в журнале. Если вы хотите также отобразить их на выходе (например, в браузере), вам необходимо установить директиву display_startup_errors
на true
. Сделайте это либо в php.ini
, либо в .htaccess
или любом другом методе, который влияет на конфигурацию перед временем выполнения .
Вы можете использовать те же методы для установки параметра log_errors и error_log , чтобы выбрать ваше собственное место в файле журнала.
Если вы посмотрите в журнале или используете дисплей, вы получите гораздо лучшее сообщение об ошибке и строка кода, где ваш скрипт останавливается.
Похожие вопросы:
Связанные ошибки:
Как другие ответы отметили, , XPath 1.0 не поддерживает регулярные выражения .
, Тем не менее, у Вас есть следующие опции :
starts-with()
и translate()
функции) как это: .//div [starts-with(@id, 'foo') and 'foo' = translate(@id, '0123456789', '') and string-length(@id) > 3 ]
Использование EXSLT.NET - существует путь к [1 110] , используют его функции непосредственно в выражениях XPath, не имея необходимость использовать XSLT. Дополнительные функции EXSLT, которые позволяют RegEx-es использоваться: regexp:match()
, regexp:replace()
и regexp:test()
Использование XPath 2.0 / XSLT 2.0 и встроенная поддержка регулярных выражений (функции соответствия () , замена () и маркируют () )
XPath 2.0 имеет некоторые функции, которые поддерживают регулярные выражения: matches()
, replace()
, tokenize()
.
В XPath 1.0 нет никакой поддержки regex.
Для.NET можно использовать механизм XPath в саксе. Сеть для имения поддержки XPath 2.0.
Так, при использовании механизма XPath 2.0 в Saxon.NET, пример обратился бы к: .//div[matches(@id,'foo\d+')]
.
В.NET у Вас есть способность получить доступ к Вашим пользовательским классам (и поэтому regex, если можно кодировать его соответственно для потребностей) через Дополнительные Объекты.
Учебное руководство здесь .
Я тоже хотел это сделать, поэтому создал свой собственный базовый модуль xpath .