Страница PHP дает 500 ошибок, но выполняется через SSH работает - PullRequest
0 голосов
/ 15 мая 2018

Я упускаю что-то простое, я думаю:

Проверка установки почтового пистолета на экземпляре EC2 Linux.

При использовании сеанса замазки работает следующий код:

php /var/www/html/[thefilebelow.php]

Но происходит сбой, когда я захожу в браузер и использую

http://myexample.com/[thefilebelow.php]

Это дает ошибку 500

[thefilebelow.php]:

 # Include the Autoloader (see "Libraries" for install instructions)
require '/home/ec2-user/vendor/autoload.php';
use Mailgun\Mailgun;

# Instantiate the client. 
$mgClient = new Mailgun('kxxxxxxxxxx');
$domain = "mg.myexample.com";

# Make the call to the client.
$result = $mgClient->sendMessage($domain, array(
    'from'    => 'bob <info@lxxxxx.com>',
    'to'      => 'Steve <xxxxx@gmail.com>',
    'subject' => 'Hello',
    'text'    => 'Testing some Mailgun awesomness!'
));

ЖУРНАЛ ОШИБКИ:

PHP фатальная ошибка: require (): сбой при открытии обязательный '/home/ec2-user/vendor/autoload.php' (include_path = '.: / Usr / share / pear7: / usr / share / php7') в /var/www/html/myfilebelow.php в строке 3

Просто чтобы было ясно - местоположение требуемого файла правильное.

Разрешения для /var/www/htmlmyfilebelow.php ec2-user: www

Разрешения для / home / ec2-user / vendor / ec2-user: www

(разрешения одинаковы для включаемого файла и скрипта)

1 Ответ

0 голосов
/ 15 мая 2018

Таким образом, ответ таков: при установке composer на экземпляр ec2 (и, как правило, на другие серверы), обязательно открывайте выходной каталог при открытии сеанса пользователя ec2 в putty, если целевой каталог - ваш пользователь.directory.

Перейдите в / var / www / или в другой каталог, принадлежащий группе www.

...