不能在 apache RedHat 上使用 session_start()
Cannot use session_start() on apache RedHat
完整的错误是...
Warning: session_start(): open(../../ses/sess_38tlqpsudl0vr77vsipikik025, O_RDWR) failed: Permission denied (13) in /var/www/html/UK_Libraries_Site/shared/classes/StaffUtils.class.php on line 361
Warning: session_start(): Failed to read session data: files (path: /var/www/html/UK_Libraries_Site/ses) in /var/www/html/UK_Libraries_Site/shared/classes/StaffUtils.class.php on line 361
使用 Red Hat Enterprise Linux 版本 8.3 (Ootpa)
777 个完整项目目录的权限和所有权匹配 httpd apache:apache
我知道到处都提到了这个问题,但我没能让它发挥作用,这让我觉得这是 Red Hat 的问题,这不是我第一次在这个服务器上遇到 RedHat 特定的问题。在本地一切正常。
我还更改了位于“var/lib/php/session”的库目录的所有权和权限(我知道错误说明它在不同的目录中,但为什么不尝试一切)就像他们在 Cannot start session without errors in phpMyAdmin 中提到的那样.
我试过不同的浏览器、清除 cookies 和缓存、不同的设备,甚至拔掉我的头发,但没有任何效果。
调用session_start()的方法在$path = "../../ses"下面; (错误中给出的目录)
ini_set("session.save_path", "$path");
ini_set("session.gc_maxlifetime", "3600");
//start the session
session_start();
如果您知道问题是什么,甚至没有提到其他方法,请告诉我。
问题是 RedHat 特有的,请参阅 https://www.serverlab.ca/tutorials/linux/web-servers-linux/configuring-selinux-policies-for-apache-web-servers/
下面使用的命令(ses是目录名)
sudo chcon -R -t httpd_sys_rw_content_t ses
完整的错误是...
Warning: session_start(): open(../../ses/sess_38tlqpsudl0vr77vsipikik025, O_RDWR) failed: Permission denied (13) in /var/www/html/UK_Libraries_Site/shared/classes/StaffUtils.class.php on line 361
Warning: session_start(): Failed to read session data: files (path: /var/www/html/UK_Libraries_Site/ses) in /var/www/html/UK_Libraries_Site/shared/classes/StaffUtils.class.php on line 361
使用 Red Hat Enterprise Linux 版本 8.3 (Ootpa)
777 个完整项目目录的权限和所有权匹配 httpd apache:apache
我知道到处都提到了这个问题,但我没能让它发挥作用,这让我觉得这是 Red Hat 的问题,这不是我第一次在这个服务器上遇到 RedHat 特定的问题。在本地一切正常。
我还更改了位于“var/lib/php/session”的库目录的所有权和权限(我知道错误说明它在不同的目录中,但为什么不尝试一切)就像他们在 Cannot start session without errors in phpMyAdmin 中提到的那样.
我试过不同的浏览器、清除 cookies 和缓存、不同的设备,甚至拔掉我的头发,但没有任何效果。
调用session_start()的方法在$path = "../../ses"下面; (错误中给出的目录)
ini_set("session.save_path", "$path");
ini_set("session.gc_maxlifetime", "3600");
//start the session
session_start();
如果您知道问题是什么,甚至没有提到其他方法,请告诉我。
问题是 RedHat 特有的,请参阅 https://www.serverlab.ca/tutorials/linux/web-servers-linux/configuring-selinux-policies-for-apache-web-servers/
下面使用的命令(ses是目录名) sudo chcon -R -t httpd_sys_rw_content_t ses