Починил php на Ubuntu 18.04

Ubuntu 18.04, панель Vesta.
php -i
php --ini
По этим командам было видно, что из папок с симлинками на конфиги не подгружались конфиги, а все потому что при смене названия файлов в /etc/php/7.2/mods-available/ побились символические ссылки. Этот скрипт их пересоздает для всех установленных версий php, подключая все доступные расширения для модулей cgi, fpm и cli.

alias ls="/bin/ls"
for php_version in $(ls /etc/php/)
do
	rm -fv /etc/php/${php_version}/fpm/conf.d/* /etc/php/${php_version}/cli/conf.d/* /etc/php/${php_version}/cgi/conf.d/*
	for i in i in $(ls /etc/php/${php_version}/mods-available/)
	do
		ln -s /etc/php/${php_version}/mods-available/${i} /etc/php/${php_version}/fpm/conf.d/${i}
		ln -s /etc/php/${php_version}/mods-available/${i} /etc/php/${php_version}/cli/conf.d/${i}
		ln -s /etc/php/${php_version}/mods-available/${i} /etc/php/${php_version}/cgi/conf.d/${i}
	done
done

А ошибки были такого вида:
PHP Fatal error: Uncaught Error: Call to undefined function Symfony\Polyfill\Mbstring\iconv() in /usr/share/php/Symfony/Polyfill/Mbstring/Mbstring.php:534 (при запуске composer)

2018/03/28 23:51:08 [error] 11030#11030: *10 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function Symfony\Polyfill\Mbstring\iconv_strpos() in /home/admin/web/domain.com/public_html/vendor/symfony/polyfill-mbstring/Mbstring.php:363
Stack trace:
#0 /home/admin/web/domain.com/public_html/vendor/symfony/polyfill-mbstring/bootstrap.php(32): Symfony\Polyfill\Mbstring\Mbstring::mb_strpos('', '/json', 0, 'UTF-8')
#1 /home/admin/web/domain.com/public_html/vendor/laravel/framework/src/Illuminate/Support/Str.php(103): mb_strpos('', '/json')
#2 /home/admin/web/domain.com/public_html/vendor/laravel/framework/src/Illuminate/Http/Concerns/InteractsWithContentTypes.php(34): Illuminate\Support\Str::contains('', Array)
#3 /home/admin/web/domain.com/public_html/vendor/laravel/framework/src/Illuminate/Http/Request.php(339): Illuminate\Http\Request->isJson()
#4 /home/admin/web/domain.com/public_html/vendor/laravel/framework/src/Illuminate/Http/Request.php(367): Illuminate\Http\Request->getInputSource()
#5 /home/admin/we" while reading response header from upstream, client: 109.173.112.243, server: domain.com, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9002", host: "domain.com"

Отправить ответ

avatar
  Subscribe  
Сообщать по почте