我希望这很简单,但我不能让它发挥作用。 我正在尝试在命令行中运行php脚本(最终能够在cron中自动执行它。)
该文件位于公共Web文件夹之外,以避免从Web浏览器执行该文件。
文件名为'daily.php'并包含:
#!/usr/bin/php
<?
echo "hello \n";
file_put_contents("daily.log", "executed...", FILE_APPEND | LOCK_EX);
?>
然后在我的终端我运行(以root身份):
/usr/bin/php daily.php
但它简单地输出了完整的源代码而没有hashbang。
所以我尝试将文件更改为755,尝试chmod + x但仍然输出完整的源代码。
我看了一下手册页,我找到了:
-f <file> Parse and execute <file>.
试过这个,但仍然是相同的输出。
这是为什么?我怎么解释这个文件?
答案 0 :(得分:0)
确定
经过2个小时的麻烦后,我发现了这个问题后,我找到了答案。
即使你对该文件进行hashbang,即使你直接调用php,也需要通过使用隐式告诉它是php:
<?php
?>
而不是
<?
?>