Кто-нибудь знает, как решить ошибку ниже?
Устаревший: функция ereg () устарела в C: \ wamp \ www \ includes \ file.inc в строке 895
- Drupal 6: Views: перечисление таксономических терминов с помеченными узлами под
- Как прикрепить изображение к узлу при его создании с помощью node_save ($ node);
- Проверка файлов cookie и перенаправление с помощью Apache
- Как добавить пользовательское слово на мой доменный URL для каждого запроса?
- как включить HTTPS для всего сайта drupal 6?
Это происходит после установки Drupal 6.13 на сервере 2.0 2.0 с PHP 5.3.0
Снимите свой отчет об ошибках ниже E_DEPRECATED .
PHP 5.3 представил два новых уровня отчетов об ошибках: E_DEPRECATED и E_USER_DEPRECATED и – впервые в истории PHP – они начали уходить от более старых частей своего API. Функция ereg_ * по-прежнему будет работать, но это предупреждение позволяет вам знать, что «эй, эта функция скоро исчезнет, возможно, в следующей крупной редакции».
использование
preg_match('/\.([^\.]*$)/', $this->file_src_name, $extension);
Вместо
ereg('\.([^\.]*$)', $this->file_src_name, $extension);
Просто добавьте @ перед функцией. например
@ereg ()
больше вопросов, связанных с обновлением веб-серверов, работающих под управлением PHP 5.3.0, PLS
http://www.rain-forest-forum.com/dotproject-net-installation-issues-t263.html
Вы можете отредактировать файл common.inc, чтобы спокойно игнорировать устаревшие флаги ошибок. См. Мой пост: http://funkinetics.org/klink/function-ereg-is-deprecated-error-in-drupal-6x-with-php-53/
Одно из решений – обновить исходный код нарушения 🙂 Здесь объясняется: http://drupal.org/node/514334#comment-2852940
Это не проблема Drupal. На сайте Drupal отмечается, что он еще не поддерживает PHP 5.3, и в PHP добавлены новые флаги ошибок.
Решение1: вы можете деградировать версию PHP. Вы можете вернуться к PHP 5.2.x. Поскольку я не уверен в других конфликтах с Drupal и PHP 5.3.
Решение2: Однако, если вы предпочитаете хранить PHP 5.3, вы всегда можете подавлять устаревшие ошибки функции. В Drupal's includes / common.inc найдите строку:
if ($ errno & (E_ALL ^ E_NOTICE)) {И заменим его на:
if ($ errno & (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED)) {
Теперь это всегда будет подавлять устаревшие сообщения об ошибках.
Похоже, проблема связана с PHP 5.3.0. Вы можете попробовать понизить до 5.2.9, как предложено этой ссылкой drupal: http://drupal.org/node/514334
Поскольку у меня нет времени обновлять устаревший код, я добавил следующую строку в php-код для подавления предупреждений.
error_reporting(E_ALL ^ E_DEPRECATED);
эта строка подавляет только устаревшие предупреждения. другие ошибки отображаются как обычно.