【问题标题】:Run php in command line on CentOS7在 CentOS7 的命令行中运行 php
【发布时间】:2015-05-15 13:07:03
【问题描述】:

我希望这很简单,但我无法让它工作。 我正在尝试在命令行中运行一个 php 脚本(最终能够在 cron 中自动化它。)

该文件位于公共网络文件夹之外,以避免从网络浏览器执行它。

文件名为“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>.

试过了,结果还是一样。

这是为什么?我该如何解释这个文件?

【问题讨论】:

    标签: php linux shell command-line centos


    【解决方案1】:

    好的

    经过 2 小时的麻烦,我在发布此问题后找到了答案。

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

    <?php
    ?>
    

    而不是

    <?
    ?>
    

    【讨论】:

      猜你喜欢
      • 2020-01-20
      • 2011-11-01
      • 2020-07-12
      • 1970-01-01
      • 2013-07-23
      • 2012-05-22
      • 2022-11-28
      • 2014-06-01
      • 2011-08-04
      相关资源
      最近更新 更多