Web Мастерская
Поиск ошибок в PHP | Дебаг
При написании php скрипта легко допустить ошибку, из-за которой скрипт работать будет неправильно, либо вообще работать не будет. Страница пустая (белая) и ошибку очень сложно найти среди десятка тысяч символов... Для того что бы быстро найти ошибку, можно в ваш файл, после
после этого должно появится сообщения с номером строки, в которой находится ошибка (правда этот вариант не всегда помогает).
Еще как вариант: добавить в файл .htaccess строку:
Возможно, будет интересно:
...
<?php добавить следующий код:
ini_set('display_errors', 'On');
error_reporting(E_ALL);после этого должно появится сообщения с номером строки, в которой находится ошибка (правда этот вариант не всегда помогает).
Еще как вариант: добавить в файл .htaccess строку:
php_flag display_errors 1Возможно, будет интересно:
...
- Жалоба
Warning: #3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release
При поиске в phpMyAdmin, получаю ошибки:
Сравнение:
Ошибка решается изменением кодировки: Блог: MySQL: Как изменить кодировку запросом....
Warning: #3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous
Сравнение:
utf8mb4_0900_ai_ci. И как оказалось, некоторые столбцы, некоторых полей имеют utf8mb3_general_ci.Ошибка решается изменением кодировки: Блог: MySQL: Как изменить кодировку запросом....
MySQL: #1071 - Указан слишком длинный ключ
Ошибка: #1071 - Указан слишком длинный ключ. Максимальная длина ключа составляет 1000 байт, может появиться при сменены кодировки полей таблицы (Блог: MySQL: Как изменить кодировку запросом).
Во многих случаях, помогает уменьшение длинны поля, например, с
Во многих случаях, помогает уменьшение длинны поля, например, с
varchar(255) на varchar(250). Чтобы указать более подходящею длину, используйте запрос, который поможет определиться с нужной длинной: Блог: MySQL: Как получить самую длинную строку столбца....Uncaught mysqli_sql_exception: Data too long for column
Получил ошибку: Uncaught mysqli_sql_exception: Data too long for column. Из текста ошибки ясно, что машина получила слишком длинные данные.
Я не стал менять тип поля, чтобы увеличить еёёмкость, я просто сделал проверку на длину строки, перед сохранением данных в Базу Данных (По аналогии: Тема: Слишком большое имя (failed to open stream: File name too long)).
Делаю так:
Готово. Ошибка исчезла.
Строка нужна для одногоразового поиска, и длиннее чем 250 символов, она ни к чему. Поэтому, в моём случае, удаление части строки допустимо. Если это не Ваш случай, рассмотрите вариант с увеличениемёмкости поля, куда сохраняется запись, либо замену типа столбца....
Я не стал менять тип поля, чтобы увеличить её
Делаю так:
$insert['search_query'] = (mb_strlen($search) > 250) ? mb_substr($search, 0, 250) : $search;Готово. Ошибка исчезла.
Строка нужна для одногоразового поиска, и длиннее чем 250 символов, она ни к чему. Поэтому, в моём случае, удаление части строки допустимо. Если это не Ваш случай, рассмотрите вариант с увеличением
Call to undefined function bcdiv()
Для одной задачи, потребовалась функция:
В интернете найдено решение, выполнить команду:
Следует указать свою версию PHP....
bcdiv, но, при её использовании, получил ошибку: Uncaught Error: Call to undefined function bcdiv().В интернете найдено решение, выполнить команду:
sudo apt-get install php8.3-bcmathСледует указать свою версию PHP....
