vovka83, так оно, я вроде как в этом и разбираюсь. просто когда один человек занимается одновременно разработкой/доработками сайта, в том чсиле дизайном, также seo, serm, ведение групп в соцсетях, таргет, контекстной рекламой, офлайн рекламой (флаеры, визитки, плакаты — все, создание макета, подготовка к печати, связь с типографией) и т.д. и т.п., то не всегда в каждой из этих областей прям сразу успеваешь подстроиться под обновления.
Sitealert, ок, буду искать.
edogs, настройки пхп — это вот это вы имеете в виду?
php_flag display_errors off
php_flag rewriteLogLevel 0
php_value allow_url_fopen on
php_value open_basedir /dir/incl/
yet_warm, да просто в blabla.txt то есть для апача с пхп htaccess как бы перестал существовать
SeVlad, adel92 — спасибо за дельные советы. действительно, если уж решил обновлять и вышла ошибка, то лучше уж сразу до 5.6 или 7.0 (оффтоп — а 6-ку они перепрыгнули чтоли?) обновиться и под него уже исправлять ошибки.
Так и сделаю тогда, попробую сначала 5.6, потом 7.0 и буду смотреть, что в логах пишут
Доброго дня, при попытке сменить версию php с 7.3 на 7.4 или выше, выдает ошибку 500, при возвращении 7.3 все в норме, 7.4 нужна для работы плагина, хостинг свой, где поискать проблему?
логи выдаёт кучу таких строк:
[05-Oct-2022 17:40:24 Europe/Moscow] PHP Notice: Undefined index: price in wa-cache/3d90db/apps/shop/templates/compiled/shop_ru_RU/dd/f7/32/ddf732f163bc0464114560bff7572ad9374a94cd.file.list-thumbs-view-grid.html.php on line 122 [05-Oct-2022 17:40:24 Europe/Moscow] PHP Notice: Trying to get property 'value' of non-object in wa-cache/3d90db/apps/shop/templates/compiled/shop_ru_RU/dd/f7/32/ddf732f163bc0464114560bff7572ad9374a94cd.file.list-thumbs-view-grid.html.php on line 122 [05-Oct-2022 17:40:25 Europe/Moscow] PHP Notice: Undefined index: menuIcon in wa-cache/3d90db/apps/shop/templates/compiled/shop_ru_RU/54/b4/91/54b49195e62f7add6ab86e0617b7e6530b7100d7.file.header.dd.cat.list.html.php on line 68 [05-Oct-2022 17:40:25 Europe/Moscow] PHP Notice: Undefined index: menuIcon in wa-cache/3d90db/apps/shop/templates/compiled/shop_ru_RU/54/b4/91/54b49195e62f7add6ab86e0617b7e6530b7100d7.file.header.dd.cat.list.html.php on line 68 [05-Oct-2022 17:40:25 Europe/Moscow] PHP Notice: Undefined index: menuIcon in wa-cache/3d90db/apps/shop/templates/compiled/shop_ru_RU/54/b4/91/54b49195e62f7add6ab86e0617b7e6530b7100d7.file.header.dd.cat.list.html.php on line 68 [05-Oct-2022 17:40:25 Europe/Moscow] PHP Notice: Undefined index: menuIcon in wa-cache/3d90db/apps/shop/templates/compiled/shop_ru_RU/54/b4/91/54b49195e62f7add6ab86e0617b7e6530b7100d7.file.header.dd.cat.list.html.php on line 68 [05-Oct-2022 17:40:25 Europe/Moscow] PHP Notice: Undefined index: menuIcon in wa-cache/3d90db/apps/shop/templates/compiled/shop_ru_RU/54/b4/91/54b49195e62f7add6ab86e0617b7e6530b7100d7.file.header.dd.cat.list.html.php on line 68
- Саламов Игорь
- 22. Сверхразум (105920)
- 5 лет
Модератор проекта «Ноль вопросов!», также увлекаюсь программированием
Проверьте директивы php.ini .У меня такое было, когда я переключался с версии 5.2 на 7.1. Причина была в том, что в старой версии php.ini была прописана директива register_global on, которая в новой версии была исключена разработчиками и таким образом из-за несуществующей директивы выдавалась ошибка 500.
Проблема, с которой сталкиваются многие программисты после перевода площадки на современную версию PHP, — вероятная полная или частичная потеря работоспособности программного обеспечения на одном или нескольких сайтах площадки. Не предавайтесь панике, всё решаемо!
Использование функций mysql_connect(), mysql_select_db(), mysql_query() и т.д.
В PHP 7 разработчики отказались от расширения mysql, все использования функций расширения приводят к фатальной ошибке (Call to undefined function).
Как заменить неработающие функции mysql_connect(), mysql_select_db(), mysql_query()? Ошибка «PHP Fatal Error: Call to undefined function»
Решения проблемы есть и даже не одно!
Есть достойная альтернатива mysql — расширение mysqli. Функции расширения соответствуют старым (большая часть):
mysqli_fetch_array() //расширение mysqli mysql_fetch_array() //расширение mysql
1. Если у вас небольшой проект, вам будет несложно через поиск найти несколько строк в коде с функциями, начинающимися с «mysql_*» расширения mysql. Вручную отредактируйте код, заменив «mysql_*» на «mysqli_*».
2. Если у вас большой проект или вы очень активно пользовались функциями расширения mysql, вам будет непросто поменять все упоминания устаревших функций. В таком случае вам поможет следующее решение. Создайте PHP-файл, в котором определите функции с именами исключённых, которые будут ссылаться на соответствующие функции расширения mysqli.
Пример кода новой библиотеки. Не надо перечислять все функции расширения, это излишний перфекционизм. Создайте только те, которые встречаются в ваших проектах.
<? function mysql_connect($server, $username, $password, $new_link = NULL, $client_flags = NULL) { $GLOBALS['mysql_oldstyle_link'] = mysqli_connect($server, $username, $password); return $GLOBALS['mysql_oldstyle_link']; } function mysql_query($sql) { return mysqli_query($GLOBALS['mysql_oldstyle_link'], $sql); } function mysql_fetch_row($res) { return mysqli_fetch_row($res); } function mysql_fetch_assoc($res) { return mysqli_fetch_assoc($res); } function mysql_fetch_array($res) { return mysqli_fetch_array($res); } function mysql_fetch_object($res) { return mysqli_fetch_object($res); } function mysql_affected_rows($link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_affected_rows($link); } function mysql_insert_id($link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_insert_id ($link); } function mysql_select_db($database_name) { return mysqli_select_db($GLOBALS['mysql_oldstyle_link'], $database_name); } function mysql_errno($link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_errno($link); } function mysql_error($link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_error($link); } function mysql_num_rows($res) { return mysqli_num_rows($res); } function mysql_free_result($res) { return mysqli_free_result($res); } function mysql_close($link) { return mysqli_close($link); } function mysql_real_escape_string($sql, $link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_real_escape_string($link, $sql); } function mysql_get_server_info($link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_get_server_info($link); } ?>
Данный код сохраните в файл, назовите его, например, deletedmysql.php и сохраните в корне сайта (на одном уровне с index.php главной страницы сайта).
В каждый PHP-файл, в котором встречается ошибка, добавьте строку в самое начало файла, после открывающего кода:
<? include_once 'deletedmysql.php'; /* далее старый PHP-код */
Совсем идеально будет добавить проверку на версию PHP, так как при переезде на другую площадку или понижении версии PHP до 5.x вы получите ошибку PHP: Fatal error: Cannot redeclare…
if (version_compare(PHP_VERSION, '7.0.0', '>=')) include_once 'deletedmysql.php';
Маленький лайфхак для тех, кому понравился способ 2. Используйте это решение только в качестве временной заглушки. При удобном случае перепрограммируйте код на использование новых функций.
PHP Fatal error: Uncaught Error: Call to undefined function split()
В PHP 7 функция spit() — разбиение строки на массив по регулярному выражению, — была исключена. Альтернатива есть, функции preg_split(), str_split(), explode().
В приведённом примере разбить командную строку можно любой функцией. Лично я предпочитаю explode().
Здравствуйте.
Яндекс и Google в один голос твердят, что страницы недоступны, мол ошибка 500. Делаю проверку доступности сайта в Яндексе, Яндекс говорит ошибка 500, а я в это время на проверяемой странице и все работает… Тоже самое и с Google…
Движок работает на PHP 8.1.6 и при этой версии Яндекс и Google выдает 500 ошибку.
Меняю версию PHP на 8.0.19 и Яндекс с Google сразу видят сайт…
А при чем тут версия интерпретатора? Я не знаю…
Как можно «жить» на последней версии PHP и быть доступным для поисковиков?
Спасибо.
— Ubuntu 18.04 LTS
— ISPmanager 6 Lite
— RAM 2048
— DISK 20 ГБ
— CPU 2