Доброго времени суток. Вопрос ближе к системному программированию, нежели к самому php, но тем не менее оно где-то рядом...Итак, расширение апача gd.so не работает в том случае, если php скрипт находится внутри веб-директории панели vesta cp - и при этом отлично работает в скриптах вне веб-директории весты, то есть в директориях доменов.
Железо - веб-сервер с php 8.1, ось CentOs 7 и установленной Vesta CP.
Расширение gd.so точно установлено, и все, что с ним связано, отлично работает вне веб-директории vesta, к примеру, в "/home/admin/web/somedomain/public_html/customscript.php". Функция imagecreatetruecolor() и другие из этого расширения исправно функционируют. Файл"gd.so" находится в папке "/usr/lib64/php/modules", также я могу видеть "20-gd.ini" в папке "/etc/php.d/" со строкой "extension=gd" внутри, и когда я выполняю команду в CLI "php -i | grep -i --color gd" то я вижу, что расширение установлено и все с ним в порядке.
Однако для кое-каких моих нужд я хочу использовать данный скрипт также в папке внутри веб-директории самой панельки vesta, а именно в "/usr/local/vesta/web/somedirectory/customscript.php". И здесь это расширение уже на работает - показывается ошибка 500 и функция imagecreatetruecolor() не определена и get_extension_funcs("gd") возвращает "false".
Нашел также, что имеется папка "/usr/local/vesta/php/lib/php/extensions/no-debug-non-zts-20131226", скопировал туда файл gd.so, не безрезультатно. Функция phpinfo(), запущенная в скрипте внутри vesta web-директории, показывает следующую информацию о загруженном php.ini файле:
Loaded Configuration File /usr/local/vesta/php/lib/php.ini
Scan this dir for additional .ini files (none)
Внутри этого php.ini файла нет информации о расширении gd.so. Я добавил строку "extension=gd" - ни к чему не привело. Как ни к чему не привело и добавление "extension=gd" в другом php.ini, который лежит в /etc/php.ini.
Что нужно сделать для того, чтобы это расширение заработало внутри /usr/local/vesta/web ?