я использую
- Centos 7 (последнее обновление)
- Апач 2.4.6
- PHP7.2
Я хотел бы изменить каталог, в котором хранятся сессии на сервере. По умолчанию используется каталог /var/lib/php/session/
, я могу использовать этот каталог без каких-либо проблем, но когда я изменяю каталог в PHP.ini
файле, я получаю ошибку:
session_start(): open(/var/www/session/sess_dug784eu96aj06eh1gte4hak2f, O_RDWR) failed: Permission denied (13)
Я также отредактировал php.conf
и /etc/httpd/conf.d
удалил эту строку, чтобы предотвратить переопределение каталога сеанса:
php_value session.save_path "/var/lib/php/session"
Как видите, я использую /var/www/session/
новый каталог для хранения сессий, и этот каталог существует и имеет точно такие же разрешения, как и каталог по умолчанию:
0770 / owner : root / group : Apache
Я также попытался скопировать существующий файл сеанса из каталога по умолчанию в новый каталог, но все равно получаю ту же ошибку!
Спасибо за помощь.
решение1
Хорошо, я нашел решение, спасибо @womble за указание, где проблема, я мог бы хотя бы искать по правильному пути,
В случае, если у кого-то еще возникнет такая же проблема, следует отключить SELinux (что не рекомендуется) или настроить его так, чтобы разрешить Apache доступ к новому каталогу:
chcon -t httpd_sys_rw_content_t /var/www/session -R