open basedir — IspConfig & amp; PHP-FPM — конфигурация PHP, считанная из другого пула?

на моем сервере у меня есть следующие настройки:

  • ISPConfig 3.0.5.4p2
  • Ubuntu 14.04 LTS
  • Apache 2.4
  • PHP обрабатывается PHP-FPM (один пул для каждой сети)

Проблема в том, что некоторые веб-сайты, которые настроены как субдомены (v-host), иногда сообщают об этой странной ошибке:

Ошибка PHP от web46

[19-Mar-2015 18:39:07 UTC] PHP Warning:  include(): open_basedir restriction in effect. File(/var/www/clients/client1/web3/cooltaxi/vendor/yiisoft/yii2/web/ErrorAction.php) is not within the allowed path(s): (/var/www/clients/client1/we$
[19-Mar-2015 18:39:07 UTC] PHP Warning:  include(/var/www/clients/client1/web3/cooltaxi/vendor/yiisoft/yii2/web/ErrorAction.php): failed to open stream: Operation not permitted in /var/www/clients/client1/web3/cooltaxi/vendor/yiisoft/yi$
[19-Mar-2015 18:39:07 UTC] PHP Warning:  include(): Failed opening '/var/www/clients/client1/web3/cooltaxi/vendor/yiisoft/yii2/web/ErrorAction.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/clients/clie$
[19-Mar-2015 18:39:07 UTC] PHP Warning:  include(): open_basedir restriction in effect. File(/var/www/clients/client1/web3/cooltaxi/vendor/yiisoft/yii2/base/UnknownClassException.php) is not within the allowed path(s): (/var/www/clients$
[19-Mar-2015 18:39:07 UTC] PHP Warning:  include(/var/www/clients/client1/web3/cooltaxi/vendor/yiisoft/yii2/base/UnknownClassException.php): failed to open stream: Operation not permitted in /var/www/clients/client1/web3/cooltaxi/vendor$
[19-Mar-2015 18:39:07 UTC] PHP Warning:  include(): Failed opening '/var/www/clients/client1/web3/cooltaxi/vendor/yiisoft/yii2/base/UnknownClassException.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/c$
[19-Mar-2015 18:39:07 UTC] PHP Fatal error:  Class 'yii\base\UnknownClassException' not found in /var/www/clients/client1/web3/cooltaxi/vendor/yiisoft/yii2/BaseYii.php on line 291
[19-Mar-2015 18:39:07 UTC] PHP Fatal error:  Uncaught exception 'ReflectionException' with message 'Class yii\web\ErrorAction does not exist' in /var/www/clients/client1/web3/cooltaxi/vendor/yiisoft/yii2/di/Container.php:415

PHP-FPM пул — web46

[web46]

listen = /var/lib/php5-fpm/web46.sock
listen.owner = web3
listen.group = client1
listen.mode = 0660

user = web3
group = client1

pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5
pm.max_requests = 0

chdir = /

php_admin_value[open_basedir] = /var/www/clients/client1/web3/test:/var/www/clients/client1/web3/private:/var/www/clients/client1/web3/tmp:/var/www/test.agelis.cz/test:/srv/www/test.agelis.cz/test:/usr/share/php5:/usr/share/php:/tmp:/us$
php_admin_value[session.save_path] = /var/www/clients/client1/web3/tmp
php_admin_value[upload_tmp_dir] = /var/www/clients/client1/web3/tmp
php_admin_value[sendmail_path] = "/usr/sbin/sendmail -t -i [email protected]"
php_admin_value[upload_max_filesize] = 128M
php_admin_value[post_max_size] = 128M
php_admin_value[max_input_vars] = 4000

PHP-FPM пул — web59

[web59]

listen = /var/lib/php5-fpm/web59.sock
listen.owner = web3
listen.group = client1
listen.mode = 0660

user = web3
group = client1

pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 5
pm.max_requests = 0

chdir = /

php_admin_value[open_basedir] = /var/www/clients/client1/web3/cooltaxi:/var/www/clients/client1/web3/private:/var/www/clients/client1/web3/tmp:/var/www/cooltaxi.agelis.cz/cooltaxi:/srv/www/cooltaxi.agelis.cz/cooltaxi:/usr/share/php5:/us$
php_admin_value[session.save_path] = /var/www/clients/client1/web3/tmp
php_admin_value[upload_tmp_dir] = /var/www/clients/client1/web3/tmp
php_admin_value[sendmail_path] = "/usr/sbin/sendmail -t -i [email protected]"

Конфигурация Apache fcgi vhost — web46

      <IfModule mod_fastcgi.c>
<Directory /var/www/clients/client1/web3/cgi-bin>
Require all granted
</Directory>
<Directory /var/www/test.agelis.cz/test>
<FilesMatch "\.php[345]?$">
SetHandler php5-fcgi
</FilesMatch>
</Directory>
<Directory /var/www/clients/client1/web3/test>
<FilesMatch "\.php[345]?$">
SetHandler php5-fcgi
</FilesMatch>
</Directory>
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /var/www/clients/client1/web3/cgi-bin/php5-fcgi-88.86.115.169-443-test.agelis.cz
FastCgiExternalServer /var/www/clients/client1/web3/cgi-bin/php5-fcgi-88.86.115.169-443-test.agelis.cz -idle-timeout 300 -socket /var/lib/php5-fpm/web46.sock -pass-header Authorization
</IfModule>

Это похоже на проблему open_basedir, но странно то, что PHP по какой-то причине берет настройку open_basedir из другой конфигурации пула (вы можете видеть — ошибка приходит из web43, но путь идет из web59)

В журнале ошибок php-fpm нет записей.

Любая помощь будет оценена. Я перепробовал все, что знаю, и до сих пор не могу понять проблему 🙁

1

Решение

После той же самой проблемы и попытки решить ее в течение нескольких недель я наконец нашел решение.

Я думаю, что проблема возникает из-за обновления сервера Apache до 2.4. У меня были эти сообщения об ошибках с момента обновления. После нескольких часов «проб и ошибок» я наконец нашел подсказку howtoforge, который кажется наиболее активным форумом для ISPConfig.

Похоже, что ISPConfig не будет обновлять основные файлы конфигурации, включая Apache и PHP-FPM. Я предполагаю, что они хотят предотвратить беспорядок с вашими модифицированными мастер-конфигами. Разработчик ISPConfig предложил заменить старые основные конфигурационные файлы новыми из ISPConfig GIT. Я скачал следующие файлы по предоставленной ссылке:

  • vhost.conf.master
  • php_fpm_pool.conf.master

и заменил мои текущие файлы конфигурации в / usr / local / ispconfig / server / conf /. Последний шаг — обновить все созданные конфиги с помощью ISPConfig (Инструменты -> Resync -> Resync Websites). После этого я не получил ни одной ошибки PHP-FPM.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]