Назад | Перейти на главную страницу

php session.save.path не из моего ini файла

Я настроил собственный php.ini для сайта разработчиков (производственный сайт в конечном итоге будет на том же сервере) - он устанавливает путь session.save к каталогу, специфичному для сайта.

Вы можете увидеть результат на https://dev.permaculture.org.nz/info1.php (будет перемещен или удален после решения проблемы).

Однако я все еще получаю ошибки отказа в разрешении для файлов сеанса, которые пытаются записать в / var / lib / php / session. Во-первых, я не могу понять, почему значения «Master» и «local» не являются наоборот. Во-вторых, я понятия не имею, откуда берется "локальное" значение для session.save.path: я обнаружил на сервере три файла php.ini: /etc/php.ini / opt / remi / php56 / root / и т.д. / php.ini /var/www/dev.permaculture.org.nz/etc/php.ini

Второй использует / tmp, и я также установил для первого значение / tmp. Третье указывает /var/www/dev.permaculture.org.nz/php/session, который, если требуется, принадлежит владельцу процесса.

Ошибки вызывают фатальную ошибку для phpmyadmin.

Решено после дополнительных исследований (https://stackoverflow.com/questions/19520744/what-is-the-difference-between-local-value-and-master-value)

Параметр переопределения был в /etc/httpd/conf.d/php.conf. Хотя в нем есть комментарии о том, что он переопределяется отдельными директивами virtualhost, похоже, что настройки php.ini не переопределяют. Проблема исчезла, когда я ее закомментировал.

Во-первых, ваша установка (centos 6?) Кажется настоящим беспорядком.

Вам действительно нужно 3 установки php?

  • базовая система php 5.6.27, которая, кажется, используется по умолчанию (из вашего phpinfo) => /etc/php.ini
  • Пакет SCL в /opt/remi/php56/root/etc/php.ini
  • сборка из исходников в /var/www/dev.permaculture.org.nz/etc/php.ini

Вы читали комментарий в php.ini?

; RPM note : session directory must be owned by process owner
; for mod_php, see /etc/httpd/conf.d/php.conf
; for php-fpm, see /etc/php-fpm.d/*conf

/etc/httpd/conf.d/php.conf - это правильное место для установки пути сеанса для пользователя "apache", /etc/php.ini - наихудшее, так как это разделяют все пользователи, это может только вызвать проблемы с разрешениями ( сессия создана 1 пользователем, очищена другим)