【发布时间】:2017-06-17 18:43:24
【问题描述】:
我想在 OVH 共享服务器上执行 à Symfony3 命令,但仍然出现错误。
我创建了一个 sh 脚本“verifyCampaign.sh”并放入 www/cron:
#!/bin/bash
cd /home/siteName/www/
/usr/local/php7.0/bin/php /home/siteName/www/bin/console app:verify-campaign
我知道 OVH 找到了我的脚本,因为我在 cron 日志中有这些信息:
[2017-06-17 04:38:01] ## OVH ## START - 2017-06-17 04:38:01.601227 executing: /homez.76/siteNamesrd/./www/cron/verifyCampaign.sh
[2017-06-17 04:38:01] ## OVH ## ERROR command '/homez.76/siteNamesrd/./www/cron/verifyCampaign.sh' must be executable
[2017-06-17 04:38:01]
[2017-06-17 04:38:01] ## OVH ## END - 2017-06-17 02:38:01.725728 exitcode: 255
但是为什么它告诉我这个错误?当我在控制台中在线尝试我的命令时,它运行良好
编辑
在 chmod 777 中我有一个新错误:
[2017-06-20 14:53:01] ## OVH ## START - 2017-06-20 14:53:01.977160 executing: /homez.76/siteName/./www/cron/verifyCampaign.sh
[2017-06-20 14:53:01] /homez.76/siteName/./www/cron/verifyCampaign.sh: line 2: cd: /home/siteName/www/: No such file or directory
[2017-06-20 14:53:01] Could not open input file: /home/siteName/www/bin/console
[2017-06-20 14:53:01]
[2017-06-20 14:53:01] ## OVH ## END - 2017-06-20 12:53:02.165789 exitcode: 1
我现在要尝试不同的路径。所以看来问题出在脚本上
编辑 - 改进答案
正如接受的答案中所说,问题在于脚本文件的访问权限。
对于另一个问题,在ovh中访问您的文件夹的正确路径是:
/homez.id/SiteUserName/www/
在我的例子中 id = 76
所以如果你想执行 Symfony3 命令,你必须这样做:
#!/bin/bash
cd /homez.id/siteUserName/www/
/usr/local/php7.0/bin/php /homez.id/siteUserName/www/bin/console your:commandName
在我的例子中,你的:commandName = app:verify-campaign
【问题讨论】:
-
chmod +x /homez.76/siteNamesrd/./www/cron/verifyCampaign.sh -
我必须把这一行放在 sh 文件中吗?还是直接从 fileZilla 执行?
-
在命令行中,它只是一个命令,但观察结果是否有任何错误。
-
对我来说,执行命令的唯一方法是通过 fillezilla,因为它不是专用服务器。当我尝试这个时,我得到了
550 Could not change perms on /homez.76/siteNamesrd/./www/cron/verifyCampaign.sh: No such file or directory -
所以在 filezilla 中找到你的文件
verifyCampaign.sh并更改执行文件的权限(通过右键单击)。