在CentOS7上的命令行中运行php

时间:2015-03-13 05:45:52

标签: php linux shell command-line centos

我希望这很简单,但我不能让它发挥作用。 我正在尝试在命令行中运行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>.

试过这个,但仍然是相同的输出。

这是为什么?我怎么解释这个文件?

1 个答案:

答案 0 :(得分:0)

确定

经过2个小时的麻烦后,我发现了这个问题后,我找到了答案。

即使你对该文件进行hashbang,即使你直接调用php,也需要通过使用隐式告诉它是php:

<?php
?>

而不是

<?
?>