0

我的 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(username sensored) 好的,它返回 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.
4

2 回答 2

1

最后我发现它在/opt/rh/rh-php56/root/usr/bin/php

当我发布时,find / -name 'php*' > php.txt我删除了一堆 /opt/rh/something.. 结果,认为它们完全不相关。

于 2017-10-03T17:10:18.383 回答
0

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

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

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

/usr/bin/php -v
于 2017-10-01T10:41:52.867 回答