【问题标题】:Which path to PHP for cronjob?cronjob 的 PHP 路径是什么?
【发布时间】:2015-05-21 03:17:39
【问题描述】:

我正在将 PHP 脚本作为 cronjob 运行。我需要 PHP 5.4 或更高版本。我应该使用哪条路径?我有:

(uiserver):z2309ii3ee:~ > whereis php
php: /usr/bin/php /usr/bin/php5.4 /usr/bin/php5.5 /usr/bin/php5.4-cli /usr/bin/php5.5-cli /usr/lib/php /usr/lib/php.ini /usr/lib/php5.4 /usr/lib/php5.5 /usr/lib/php.ini-nourl /usr/local/bin/php /usr/local/bin/php5 .4 /usr/local/bin/php5.5 /usr/local/lib/php.ini-nourl /usr/include/php /usr/include/php5.4 /usr/include/php5.5 /usr/local /php /usr/share/php

我的房东的在线帮助说我应该使用/usr/local/bin/php5,但那是 PHP 5.2.17。

为什么我不应该将 /usr/lib/cgi-bin/php5.4 与 cronjob 一起使用?这是我在浏览器中调用脚本时运行的版本(如echo PHP_BINARY;)。

【问题讨论】:

  • 投票结束的人:为什么这是“基于意见的”?如果有理由更喜欢一个 PHP 实例而不是另一个,那么我想知道这个原因,但是如果 PHP 的所有变体都可以与 cronjob 一起使用,那么这不是一个意见,而是一个答案。

标签: php


【解决方案1】:

如果它工作正常,请使用最新版本(或与您的代码兼容的版本)。

【讨论】:

  • 只需使用/usr/lib/cgi-bin/php5.4。他们的文档可能仍然可以追溯到他们还没有可供选择的不同 PHP 版本的那一刻
  • @mvbrakel 为什么是 5.4 而不是 5.5?
  • 因为他的网站在 5.4 上运行,他可能在上面测试了他的代码。 5.5 显然也是可能的。然而 PHP 并不总是 100% 向后兼容
【解决方案2】:

/usr/lib 通常包含程序所需的库和其他文件,而不是程序本身(可执行文件)。这些程序位于/bin/usr/bin/usr/local/bin 或其子目录中。

我会尝试ls -lfile/usr/bin/php5.5/usr/bin/php5.5-cli/usr/local/bin/php5.5 找出它们是否是可执行文件或目录。如果它们是目录,则它们可能在自己的bin 子目录中包含可执行文件(即/usr/bin/php5.5/bin/php 和类似的)。

找到我需要的可执行文件后,我会使用选项--version 运行它(它们),看看它是否是我需要的版本。

【讨论】:

    猜你喜欢
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 2020-10-30
    • 1970-01-01
    • 2014-08-02
    • 2020-11-16
    • 2019-01-25
    相关资源
    最近更新 更多