php页面提供500错误,但通过ssh工程执行

时间:2018-05-15 00:35:12

标签: php linux ssh composer-php

我想错了一些事情:

在EC2 Linux实例上测试mailgun安装。

以下代码在我使用putty会话时有效:

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')在第3行的/var/www/html/myfilebelow.php

要清楚 - require文件的位置是正确的。

/var/www/htmlmyfilebelow.php ec2-user:www

的权限

/ home / ec2-user / vendor / ec2-user:www

的权限

(包含文件和脚本的权限相同)

1 个答案:

答案 0 :(得分:0)

所以答案是在ec2实例(通常在其他服务器上)上安装composer时,如果登录目录是您的用户,请务必在putty中打开ec2-user会话时导航到登录目录之外。目录

升级到/ var / www /或www组拥有的其他目录。