Задать вопрос
@bls45665

Как разрешить ошибку «input file specifed» при использовании phpmyadmin c php-fpm в окружении chroot?

Добрый день.

связка php7fpm+nginx via socket.

конфиг php стандартен, конфиг пула тоже, chroot настроен в папку сайта и обозначен как - /
сам index.php сайта выполняется штатно. getcwd() отдает - /

текущий конфиг nginx -
....
root /var/www;
location /pma
        {
                alias /var/www/phpmyadmin; #/usr/share/phpnyadmin тоже использовался#

                location ~ \.php$
                {
                        include fastcgi_params;
                        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
                        fastcgi_index index.php;
                        fastcgi_param SCRIPT_FILENAME $request_filename;
                       #так же были использованны - 
                       #fastcgi_param SCRIPT_FILENAME /phpMyAdmin/$1;
                       #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                       #fastcgi_param DOCUMENT_ROOT /var/www/phpMyAdmin/;

}

                location ~* \.(js|css|png|jpg|jpeg|gif|ico)$
                {
                        access_log off;
                        log_not_found off;
                        expires 1d;
                }
        }
....


До этого я пробросил в /usr/share/phpmyadmin мягкую ссылку ( на chroot/phpmyadmin ), но не работало. Вывод штатной функции scandir( "/phpmyadmin" ) от php был - false.
Затем я сделал тоже самое только используя mount --bind. Вывод scandir теперь штатен. Права на папку chroot/phpmyadmin как у php-fpm.

я в растерянности, вывод " php phpmyadmin/index.php " из папки chroot/
PHP Warning:  require_once(./libraries/String.class.php): failed to open stream: No such file or directory in /var/www/phpmyadmin/libraries/common.inc.php on line 58
PHP Fatal error:  require_once(): Failed opening required './libraries/String.class.php' (include_path='.:/usr/share/php') in /var/www/phpmyadmin/libraries/common.inc.php on line 58

как я понимаю он его запускает, но уже не может подключить что то еще из за chroot.

вывод лога nginx на запрос
2017/05/13 18:42:21 [error] 1516#1516: *3 FastCGI sent in stderr: "Unable to open primary script: /var/www/phpmyadmin/index.php (No such file or directory)" while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: localhost, request: "GET /pma/ HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "anyhost"


В общем может быть необходимо как то по другому настраивать все при chroot'е ? без него - все ок.
Только не предлагайте, пожалуйста, создать отдельный пул без chroot для phpmyadmin.

Спасибо.
  • Вопрос задан
  • 242 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы