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

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

PHP 警告 – yii\base\ErrorException session_start(): open(/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 中的 phpphp -S访问它?



慕森王
浏览 149回答 1
1回答

繁星淼淼

我已经完成以下操作以通过 PHP cli 将保存会话路径更改为另一个可访问的路径:从终端php --ini获取配置文件列表,我的意思是通过Loaded Configuration File条目来指定加载文件的路径php.ini。在我的例子中是/etc/php/7.2/cli/php.ini。使用任何可以作为 sudo 运行的文本编辑器,在我的例子中我使用kate,我打开指定的php.ini文件并搜索:session.save_pathphp.ini 的条目并且我取消注释它然后将路径更改为我家中的路径。就我而言,我将其设置为/home/myuser/tmp/sessions. 保存文件。现在./yii serve工作正常,不需要 sudo,也不需要更改 Apache 的 php.ini 的任何设置。
打开App,查看更多内容
随时随地看视频慕课网APP