Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 403使用Apache&;在OS X上禁用;Zend框架_Macos_Apache_Zend Framework_Http Status Code 403_Vhosts - Fatal编程技术网

Macos 403使用Apache&;在OS X上禁用;Zend框架

Macos 403使用Apache&;在OS X上禁用;Zend框架,macos,apache,zend-framework,http-status-code-403,vhosts,Macos,Apache,Zend Framework,Http Status Code 403,Vhosts,我有Zend Framework在OS X Lion 10.7上使用AMPPS,但我想切换到预安装的PHP/Apache。但是,我的权限似乎有问题。我的httpd vhosts.conf中有以下内容: <VirtualHost *:80> ServerName zend.local SetEnv APPLICATION_ENV development DocumentRoot "/Users/Andy/Dropbox/My own folder/dev/quickstart/publ

我有Zend Framework在OS X Lion 10.7上使用AMPPS,但我想切换到预安装的PHP/Apache。但是,我的权限似乎有问题。我的
httpd vhosts.conf中有以下内容:

<VirtualHost *:80>
ServerName zend.local
SetEnv APPLICATION_ENV development
DocumentRoot "/Users/Andy/Dropbox/My own folder/dev/quickstart/public"

<Directory "/Users/Andy/Dropbox/My own folder/dev/quickstart/public">
    DirectoryIndex index.php
    #Options FollowSymLinks Indexes # Didn't need it with AMPPS; doesn't help when uncommented
    AllowOverride All
    Order deny,allow
    allow from All
</Directory>
</VirtualHost>

ServerName zend.local
SetEnv应用程序\环境开发
DocumentRoot“/Users/Andy/Dropbox/My own folder/dev/quickstart/public”
DirectoryIndex.php
#选项如下Symlinks索引#不需要它与AMPS一起使用;未注释时没有帮助
允许超越所有
命令拒绝,允许
通融

在我的AMPPS设置中,这种精确的配置对我有效。我尝试将目录和DocumentRoot更改为另一个文件夹(/Users/Andy/zendtest/public),结果成功了。然而,当我尝试使用我的Dropbox文件夹时,我得到了一个403禁止-即使我在AMPS设置中使用了相同的文件夹。我在OS X中使用一个管理员帐户。我尝试了类似主题的建议,但没有成功。

正如我前面所说的,如果Dropbox允许TCP以外的其他协议执行,这将是一个重大漏洞,我的意思是超级重大漏洞。但是,这只是一个假设。但是 我刚刚问了一位和我一起工作的专家。他说,从安全角度来看也是一样(项圈向上),但他也提到dropbox不喜欢(点文件)。htaccess、.git、.gitignore等。。。带前缀的点通常指隐藏文件或系统文件。。此外,mime检查将确保远程操作不会妨碍dropbox服务器

在争论中,我确实说过dropbox所做的只是创建一个文件夹或快捷方式。这有什么关系?另一位听到我们谈话的专家插话说,dropbox
文件夹的概念与名为
/dev/null
的文件的概念相同。您将文件移动到dev null或将文件移动到dropbox,它可能在您的系统上,并且/或者可能只是同步了!Dropbox使用不同的协议,而不是我们的系统所理解的协议

希望这能很好地解释:)


PS:如果您希望在云中部署应用程序,这样您就不必担心它的备份和可从所有用户下载。然后,您可以尝试GitHub(如果它支持,您可以连接到您的IDE)或PHPCloud。

使用符号链接(symlink)解决了这个问题。我将我的
DocumentRoot
目录设置为
/Users/Andy/Sites/quickstart/public
。然后我从终端添加了一个符号链接(添加符号链接之前,文件夹
/Users/Andy/Sites
不存在):

然后我更改了Dropbox文件夹的权限,如下所示:

chmod 755/Users/Andy/Dropbox


如果这对您不起作用,请尝试在Google上搜索“dropbox apache”,并尝试遵循有关该主题的一些教程。

您自己的文件夹,中间有一个空格?@KarmicDice是的,它包含两个空格。我读到,只要我对路径使用引号,就没有问题。它也适用于带有空格的AMPP。我用
/Users/Andy/zend test/public
进行了测试,结果很好,所以问题显然不在于空格。我猜Apache没有执行该文件夹或其他东西的权限,但我不知道如何修复它。我从来没有在mac上进行过开发,但从Linux的角度来看。我将起草一份答案,如果它有效,那就太好了!如果不让我在评论中知道答案。哇!dropbox文件夹!同步吗?如果它是同步的,它可能无法工作,因为如果Dropbox允许TCP以外的其他协议执行,那么它将是一个主要的,我是说超级主要的漏洞。但是,这只是一个假设。尝试删除同步并回复?@KarmicDice我尝试暂停同步(并关闭Dropbox),如果这是你的意思,但它没有改变任何事情。我想你在安全方面是对的,但我认为这对当地的发展是可能的。而且,它没有给我任何关于AMPS的问题。我不知道是否有合理的解释来解释原因。谢谢你的回答,我很感激!Dropbox和AMPP在一起工作时没有任何问题,这对我来说总是很奇怪。我提出的解决方案是将Apache指向
/Users/Andy/Sites/project1
,并创建一个从该目录到
/Users/Andy/Dropbox/My-own folder/dev/project1
的符号链接!从来没有想过这会奏效,但是,这仍然是一个黑客!我想知道我们能坚持多久!如果对你有用,我很高兴:)
cd /Users/Andy/
ln -s /Users/Andy/Dropbox/My\ own\ folder/dev/quickstart /Users/Andy/Sites/quickstart