为了安装托管计划,我按照官方指南中的说明在 SSH 中使用 Plesk 的命令。在 SSH(Putty)中直接输入时,它运行良好。该行如下,在 CLI 中显然硬编码了值:
/usr/local/psa/bin/domain --create '.$url.' -owner mynamehere -ip '.IP_SERVER_PLESK.' -status enabled -hosting true -hst_type phys -login '.$ftp_user.' -passwd '.$ftp_pw.' -www false -php true -php_safe_mode false -hard_quota 100M
然后,我将该请求放入一个 php 脚本中,该脚本在安装主机后执行其他操作。现在说说奇怪的部分:从 CLI 调用该脚本时,它也运行正常,我执行了 a 操作,./myscript.php
它安装了主机,然后发送电子邮件等。
但是,在我创建 cronjob 以定期调用同一脚本后,Plesk 命令失败。cronjob 在 Plesk 中启动为
*/15 * * * * /usr/bin/php /home/scripts/myscript.php
并且它对所有事情都运行良好,但 Plesk 托管安装除外,它返回
“无法读取控制面板配置文件”,因此无法安装域名托管。但这仍然是我手动调用的相同脚本!
在该服务器上,用于调用 cronjob 的 PHP 与 CLI 中使用的 PHP 是否不同?我遗漏了什么,非常感谢您的帮助!
问候。
答案1
在交互运行时查看环境(即set
或env
)。可能有一些环境变量会告诉 Plesk 各个部分的位置。您必须将这些变量复制到 php 脚本运行的环境中 — 可能使用 bash 包装器脚本。