我第一次构建 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 可能以apache
、apache2
或用户身份运行(这些是常用用户)。如果您以其他人的身份创建了这些文件,则 Web 服务器可能无法读取它们httpd
。www-data