Web Мастерская»Блог

Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.

Где находится файл php.ini

Краткая инструкция, как узнать, где находится файл php.ini:
Создаем файл с произвольным именем, с расширением ".php" и с таким содержимым:
<?php
phpinfo();

Заливаем файл в корень сайта и переходим по адресу: "сайт/имяФайла.php". Перед нами откроется информация о PHP, в виде таблице. Нам необходимо найти параметр "Loaded Configuration File", на случай, если данный параметр имеет значение "None", ищем параметр "Configuration File (php.ini) Path". В каком то из этих двух параметров, должен быть указан путь до файла "php.ini".

Данные параметры можно искать при помощи поиска браузера, форма поиска вызывается клавишами Ctrl + F....

Поиск ошибок в PHP | Дебаг

При написании php скрипта легко допустить ошибку, из-за которой скрипт работать будет неправильно, либо вообще работать не будет. Страница пустая (белая) и ошибку очень сложно найти среди десятка тысяч символов... Для того что бы быстро найти ошибку, можно в ваш файл, после <?php добавить следующий код:
ini_set('display_errors', 'On');
error_reporting(E_ALL);

после этого должно появится сообщения с номером строки, в которой находится ошибка (правда этот вариант не всегда помогает).

Еще как вариант: добавить в файл .htaccess строку:
php_flag display_errors 1


Возможно, будет интересно:
...

Как узнать что работает на сервере Nginx или Apache

Проверить, что работает на сервере, можно при помощи функции get_headers(), что возвращает заголовки, например:
    [0] => HTTP/1.1 200 OK
    [1] => Server: nginx/1.26.2
    [2] => Date: Wed, 19 Feb 2025 13:07:34 GMT
    [3] => Content-Type: text/html; charset=utf-8
    [4] => Transfer-Encoding: chunked
    [5] => Connection: close
    // Другие заголовки

Строка: Server: nginx/1.26.2: говорит о том, что работает сервер Nginx.

Делать можно так:
print_r(get_headers('pageURL'));
...

CSS: Как сделать картинку квадратной

CSS
Для вывода дополнительных картинок, в виде ссылок на них, стояла задача сделать все фото квадратными и одинаково размера. При этом сами картинки имеют абсолютно разные размеры. Фотографии резать или сжимать нельзя. Перво, что пришло на ум - это вставить в теги атрибут style, вот так:
<div style="display: inline-block; width: 165px;">
	<a style="display: block; background-image: url('{img server_id=$photo.server_id path='photo.url_photo' file=$photo.destination suffix='_240' return_url=true}'); background-position: 50% 25%; background-size: cover; height: 160px; width: 160px;" href="{permalink module='photo' id=$photo.photo_id}" title:"{$photo.title|clean}" rel="{$photo.photo_id}"></a>
</div>

Решил вставлять стили в теги, потому что используется свойство background-image: url(), а URL картинки постоянно меняется, и угадать его нельзя.

Тут:
background-image:
background-position: 50% 25%;
background-size: cover;

Отлично справляется с поставленной задачей. Но, я стараюсь не допускать...

Warning: #3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release

При поиске в phpMyAdmin, получаю ошибки:
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: Как изменить кодировку запросом....