gpt4 book ai didi

php+nginx+vagrant - php 无法写入

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:24:09 25 4
gpt4 key购买 nike

我有一个运行我的开发代码的 vagrant box 设置,它是一个 nginx/php 设置。(关于 vagrant 的快速信息 - 它是一个 virtualbox 包装器:http://www.vagrantup.com/)。

在 vagrant/virtualbox 设置中,它使用 linux guest additions 在我的主机 (MAC OSX) 上安装一个共享文件夹。

linux guest path: /var/www/local 
OSX host path: ~/src/

在很多情况下,我发现 php 似乎无法通过任何命令(file_put_contentsfwrite.. 等)向挂载的任何路径位置写入任何内容共享文件夹,但是它可以在 /var/www/local 之外写入(例如 /var/www/not-mounted/..)。

我发现这很难使用,因为我使用的是缓存系统,它总是无法将任何缓存 javascript/css 文件写入 (/var/www/local/public/root/cache/) 我需要将其放在我网站的根文件夹中,即 (/var/www/local/public/root/index.php)。

我对这个主题做了很多研究:看来,文件夹 mount 具有正确的权限:当我在 linux guest 中键入 mount 命令时,我得到了这个:

/var/www/local on /var/www/local/ type vboxsf (uid=1000,gid=1000,rw)

澄清:

这种情况经常发生,这是我遇到的一个已知问题,我尝试解决该问题。

来自 cat/etc/passwd:

vagrant:x:1000:1000:vagrant,,,:/home/vagrant:/bin/bash

谁能帮我解决这个问题?

最佳答案

我已经找到问题了。

我忘记给 PHP 正确的用户权限和写入文件夹的权限。基本上,我的 PHP 用户/用户组是 www-data/www-data 但是,vagrant 有自己的用户/组 (vagrant/vagrant),它挂载文件夹/local/。

因为我不想搞乱我的 vagrant 安装行为,我只是简单地更改了我的 php 配置以使用用户/组启动 PHP - vagrant/vagrant。

这解决了我的问题。

感谢您的帮助!

关于php+nginx+vagrant - php 无法写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15984156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com