没有这样的文件或目录

没有这样的文件或目录

我第一次构建 EC2 LAMP 服务器,到目前为止一切顺利。

但我似乎无法得到

require 'vendor/autoload.php';工作正确

每当我写上面那行时,都会收到此错误消息

Warning: require(/home/ec2-user/vendor/autoload.php): failed to open stream: Permission denied in /var/www/html/tables.php on line 6 Fatal error: require(): Failed opening required '/home/ec2-user/vendor/autoload.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/tables.php on line 6

我知道我有这些文件。我的文件路径是:

/home/ec2-user/vendor/composer/autoload.php

代表我的网页的文件位于

/var/www/html/

我可以使用 Filezilla 来验证两者。

我是否需要配置权限,或者将整个供应商文件夹移动到可以访问的位置?我的路径有误吗?

提前致谢。


ps aux | grep apache给了我这个:我认为这意味着它在 ec2-user 下运行?

那么我该如何切换它呢?

apache    1511  0.0  1.5 407000  9376 ?        S    15:30   0:00 /usr/sbin/httpd
apache    1512  0.0  1.3 407376  8380 ?        S    15:30   0:00 /usr/sbin/httpd
apache    1513  0.0  1.5 406996  9368 ?        S    15:30   0:00 /usr/sbin/httpd
apache    1514  0.0  1.3 406880  8388 ?        S    15:30   0:00 /usr/sbin/httpd
apache    1515  0.0  1.5 406880  9368 ?        S    15:30   0:00 /usr/sbin/httpd
apache    1516  0.0  1.3 406880  8320 ?        S    15:30   0:00 /usr/sbin/httpd
apache    1517  0.0  1.5 406880  9356 ?        S    15:30   0:00 /usr/sbin/httpd
apache    1518  0.0  1.3 406880  8380 ?        S    15:30   0:00 /usr/sbin/httpd
ec2-user  2191  0.0  0.1 103416   828 pts/0    S+   17:45   0:00 grep apache

答案1

/home/ec2-user 仅具有 rwx------ 权限,而 Web 服务器(以 apache 身份运行)没有读取权限。
执行

chmod 755 /home/ec2-user

答案2

我猜想文件所有者有误。Apache 可能以apacheapache2或用户身份运行(这些是常用用户)。如果您以其他人的身份创建了这些文件,则 Web 服务器可能无法读取它们httpdwww-data

相关内容