我已经安装了yii2,并且尝试使用./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 cli将保存会话路径更改为另一个可访问的路径:
php --ini
获取配置文件列表,我的意思是Loaded Configuration File项,用于指定已加载php.ini
文件的路径。在我的情况下是/etc/php/7.2/cli/php.ini
。php.ini
文件,然后搜索:php.ini的session.save_path
条目,但未对其添加注释然后将路径更改为我家中的路径。就我而言,我将其设置为/home/myuser/tmp/sessions
。保存文件。现在./yii serve
不需要sudo即可工作,也不需要更改Apache的php.ini的任何设置。