检测PHP二进制路径 - 奇怪的情况

时间:2017-10-01 10:28:51

标签: php binary centos virtualmin

我的phpinfo输出中没有PHP_BINARY和PHP_BINDIR。服务器上有3个版本--5.3 5.6 7.0和Virtualmin。默认值为5.6 - 服务器http请求正常。但是我也需要通过这个版本运行cronjobs,但是

# /usr/bin/php -v
PHP 5.3.3 (cli) (built: Mar 22 2017 12:27:09)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

另一次尝试:

whereis php
php: /usr/bin/php /etc/php.ini /etc/php.d /usr/lib64/php /usr/share/php 
/usr/share/man/man1/php.1.gz

这是我的phpinfo的文字。 https://pastebin.com/T0WSwJ1c

请帮忙!

添加 - 我将php模式从fastcgi更改为Apache处理程序,再次 - 在5.6 phpinfo输出中没有PHP_BINARY或PHP_BINDIR。我搜索了所有类似php的文件

find / -name 'php*' > php.txt

结果在这里 https://justpaste.it/1bwap

我找到了cgi binary(?)/home/***/cgi-bin/php5.6.cgi(感知用户名) 确定它返回5.6版本,但如何运行cron?!

# /home/****/cgi-bin/php5.6.cgi ./t.php
PHP Warning:  Unknown: Filename cannot be empty in Unknown on line 0
Status: 404 Not Found
X-Powered-By: PHP/5.6.25
Content-type: text/html; charset=UTF-8

No input file specified.

2 个答案:

答案 0 :(得分:0)

在GNU + Linux系统和类似的(例如Freebsd)中,您可以在/bin/usr/bin中找到所有可执行文件,因此php命令是/usr/bin/php }。

另外,为了模仿结果,可以在-b命令中使用whereis选项来查找php可执行文件。

找出答案的一个好方法是通过shell执行:

/usr/bin/php -v

答案 1 :(得分:0)

Finnaly我在/opt/rh/rh-php56/root/usr/bin/php

找到了它

当我发布find / -name 'php*' > php.txt时,我删除了一堆/ opt / rh / something ..结果认为它们是无关紧要的。