如何安全地更改PHP session.save_path权限以允许内置服务器工作

问题描述 投票:0回答:1

我已经安装了,并且尝试使用./yii serve使用内置的PHP服务器运行。当我打开http://localhost:8080时,出现以下权限错误:

PHP警告– yii \ base \ ErrorException session_start(): 打开(/ var / lib / php / sessions / sess_t1462ivbhhq79igqjp6b4fekth,O_RDWR) 失败:权限被拒绝(13)

[在运行Apache的同一台机器上的其他应用程序上,我启动了phpinfo(),发现路径/var/lib/php/sessions设置为session.save_path

为了解决权限问题,我尝试运行sudo ./yii serve,它工作正常。

现在,我关心我的开发系统的安全性,偶尔将它暴露在Internet上,以服务客户访问当前开发的应用程序。我不知道天气如何继续使用sudo运行该应用程序,或者是否有更好的方法来更改/var/lib/php/sessions权限以允许来自cli php -S的php访问它?

php linux session yii2 file-permissions
1个回答
0
投票

我已完成以下操作,以通过PHP cli将保存会话路径更改为另一个可访问的路径:

  1. 从终端php --ini获取配置文件列表,我的意思是Loaded Configuration File项,用于指定已加载php.ini文件的路径。在我的情况下是/etc/php/7.2/cli/php.ini
  2. 使用任何可作为sudo运行的文本编辑器,在我的情况下,我使用kate,我打开了指定的php.ini文件,然后搜索:php.ini的session.save_path条目,但未对其添加注释然后将路径更改为我家中的路径。就我而言,我将其设置为/home/myuser/tmp/sessions。保存文件。

现在./yii serve不需要sudo即可工作,也不需要更改Apache的php.ini的任何设置。

© www.soinside.com 2019 - 2024. All rights reserved.