Я строю сервер 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?
Как мне тогда его переключить?
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
Я предполагаю неправильного владельца файлов. Apache будет работать как apache
,apache2
,httpd
или www-data
user (это обычные). Если вы создали эти файлы от имени кого-то другого, веб-сервер, вероятно, не сможет их прочитать.
/ home / ec2-user имеет только разрешения rwx ------, тысяча веб-серверов (работает как apache), не имеет прав на чтение.
Сделать
chmod 755 /home/ec2-user