Bash脚本可以手动运行php脚本,但无法在Cron中工作的问题通常是由于环境变量不同导致的。在Cron中运行脚本时,需要确保脚本能够找到PHP解释器以及其他所需的环境变量。
以下是一个解决方案的示例,可以在Bash脚本中手动运行PHP脚本,并在Cron中工作:
#!/bin/bash
# 设置一些环境变量,例如PHP解释器的路径
export PATH=/usr/local/bin:/usr/bin:/bin
export PHP=/usr/bin/php
# 运行PHP脚本
$PHP /path/to/your/php_script.php
chmod +x run_php_script.sh
./run_php_script.sh
crontab -e
0 5 * * * /path/to/your/run_php_script.sh
保存并关闭文件。
这样,Cron将在每天早上5点运行该脚本,并在指定的时间调用Bash脚本来运行PHP脚本。
请注意,上述示例中的路径和文件名应根据您的实际情况进行更改。此外,如果Bash脚本和PHP脚本位于不同的目录中,请确保提供正确的路径。
希望这可以帮助您解决问题!