1

我的应用程序有一个 webhook,目前执行此操作:

cd /var/www/html; git pull origin master; /usr/local/bin/composer dump-autoload; php artisan migrate

除了命令之外,我已经能够使上述所有命令正常工作composer dump-autoload

当我以身份登录服务器ec2-user并运行sudo -u apache /usr/local/bin/composer dump-autoload时,命令运行。但是,如果我使用 PHP 脚本点击运行此命令的端点,shell_exec这将不起作用。

有没有办法让apache用户自己运行这个命令?

4

2 回答 2

0

不要忘记检查 apache 用户是否在 Laravel 目录下具有写入权限。作曲家将尝试写入“供应商”目录。

问候。

于 2017-10-03T00:18:33.343 回答
0

这应该可以通过修改您的 sudoers 文件来实现。

visudo

添加行:

ec2-user ALL=(apache) NOPASSWD: /path/to/script.sh

于 2017-10-02T22:47:35.343 回答