我想错了一些事情:
在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
的权限(包含文件和脚本的权限相同)
答案 0 :(得分:0)
所以答案是在ec2实例(通常在其他服务器上)上安装composer时,如果登录目录是您的用户,请务必在putty中打开ec2-user会话时导航到登录目录之外。目录
升级到/ var / www /或www组拥有的其他目录。