如何为命令行强制使用PHP版本?

Blu*_*ica 13 php shell cron command-line-interface

我与1and1.com一起托管,我设置了我的文件,用php5解析.htaccess.

但这只适用于apache,而不是命令行,默认为服务器默认php4.

所以目前我无法设置cron作业来运行我的代码作为php5.有任何想法吗?

小智 19

根据https://community.1and1.com/using-php-composer-at-1and1/,在根项目中创建.profile并添加以下行:

alias php='/usr/bin/php5.5-cli'
Run Code Online (Sandbox Code Playgroud)

这个对我有用.注销并以SSH身份重新登录并执行:

php -v
Run Code Online (Sandbox Code Playgroud)

结果:

PHP 5.5.32(cli)(建于2016年2月15日16:13:44)


Dav*_*dom 11

如果两者都已安装,您需要做的就是使用相关的PHP二进制文件运行脚本.

例如:

 // Runs using the PHP binary located at /usr/bin/php
 * * * * * root /usr/bin/php -n "/path/to/script.php"
Run Code Online (Sandbox Code Playgroud)

要么

 // Runs using the PHP binary located at /var/php5
 * * * * * root /var/php5 -n "/path/to/script.php"
Run Code Online (Sandbox Code Playgroud)

您需要知道的是PHP CLI二进制文件的完整文件系统路径,并调用相关的文件系统路径来运行您的代码.


hak*_*kre 5

如果您可以直接在 shell 中执行 PHP 脚本,例如:

$ script.php
Run Code Online (Sandbox Code Playgroud)

您可以在第一行指定将执行脚本的二进制文件:

#!/usr/bin/php
<?php
Run Code Online (Sandbox Code Playgroud)

该行称为shebang。该行在您的系统上可能有所不同,您需要知道要用于该脚本的 PHP CLI 二进制文件的完整文件系统路径。

如果在 shell 中执行该文件,将使用指定的二进制文件。克朗也一样。

如果您通过网络服务器执行该文件,PHP 将默默地删除该行。

另请参阅: 功能:从命令行使用 PHP