我的桌面上有一个名为work的文件夹,我保存了我所有的php项目。我使用 MAMP,并且所有项目都设置为在虚拟主机上工作,例如,如果我有一个名为 test 的项目,我会在此 URL http://test.dev 上访问此项目。
一切都很顺利,直到我开始出现此错误时更新到macOS Catalina。
(1(不允许操作:无法打开索引目录:
/Users/username/Desktop/work/php/development/projectname
。
我为我的用户和员工组设置了工作文件夹和所有要读写的子文件夹的权限,我尝试了所有终端权限
commands: chmod 777, 755, etc.
我和你一样有同样的问题,我花了很多天来解决它:
停止 MAMP,然后打开终端并键入
sudo /Applications/MAMP/bin/startApache.sh -> then Enter
然后键入您的管理员密码以授予 Apache 启动 Apache 的完全权限。(这种方式可以让MAMP读取Mac上的任何文件,包括外部驱动器(
现在您可以打开 MAMP 并看到 Apache 已启动,然后单击在 MAMP 应用程序上启动以启动 MySql。
我已经解决了以下操作:
-
退出 MAMP 和所有使用 mySql 和 Apache Server 的应用程序(停止所有实例(
-
转到系统偏好设置,Systema和隐私,完整磁盘访问选项卡
-
单击"添加"并转到/应用程序/MAMP/库/bin并添加apachectl
-
从终端运行以下命令:
sudo /Applications/MAMP/bin/startApache.sh
-
打开 MAMP,然后按"启动服务器"按钮
现在您应该能够启动本地主机应用程序
这可能是由于新的MacOS Catalina权限管理器给予了错误的权限。解决此问题的一种可能方法是检查应用程序是否可以访问存储项目的文件夹。
为此,您必须:
- 转到"系统偏好设置">
- 转到"系统与隐私">
- 转到文件和文件夹
- 确保在有关应用程序的小节中选中项目的文件夹
我希望这可以解决您的问题。
在执行以下步骤之前,我在安全和隐私文件夹下添加了对 MAMP 的完全磁盘访问权限。
我之后执行的步骤:
-
停止 MAMP
-
打开终端
-
然后键入:
/Applications/MAMP/bin/startApache.sh
-
启动 MAMP
如果它不起作用,请尝试终端:/Applications/MAMP/bin/stopApache.sh
然后/Applications/MAMP/bin/startApache.sh
我在XAMPP上也有类似的问题。Apache刚刚失去了对我的外部驱动器的访问权限,我通过符号链接将其包含在内。即使对httpd网络服务器提供"完全磁盘访问权限"也无济于事。
最终的解决方案是使用 sudo 命令启动 Apache:
sudo Applications/XAMPP/bin/apachectl start
为我做了这项工作。请注意,
sudo apachectl start
将启动macOS附带的Apache,因此不会与XAMPP一起使用(我猜还有MAMP(。