【问题标题】:How to safely change PHP session.save_path permissions to allow built in server work如何安全地更改 PHP session.save_path 权限以允许内置服务器工作
【发布时间】:2020-10-03 14:57:52
【问题描述】:

我已经安装了,并尝试使用./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 php -S 访问它?

【问题讨论】:

    标签: yii2 php linux session yii2 file-permissions


    【解决方案1】:

    我已通过 PHP cli 将保存会话路径更改为另一个可访问的路径:

    1. 从终端php --ini 获取配置文件列表,我的意思是通过加载的配置文件 条目来指定加载的php.ini 文件的路径。就我而言,它是/etc/php/7.2/cli/php.ini
    2. 使用任何可以作为 sudo 运行的文本编辑器,在我的例子中,我使用 kate,打开指定的 php.ini 文件并搜索:session.save_path php.ini 条目我取消了注释,然后将路径更改为我家中的路径。就我而言,我将其设置为/home/myuser/tmp/sessions。保存文件。

    现在./yii serve 工作正常,无需 sudo 也无需更改 Apache 的 php.ini 的任何设置。

    【讨论】:

      猜你喜欢
      • 2011-05-10
      • 2011-05-07
      • 1970-01-01
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-07
      • 1970-01-01
      相关资源
      最近更新 更多