【发布时间】:2017-04-05 07:46:31
【问题描述】:
当我在 cli 中运行 php -v 时,我得到了确切的 php 版本 7,但是当我在 Web 服务器中运行 exec("php -v") 时,我得到 php 5.5,甚至在 phpinfo 中我看到我正在运行 php 7 ?!知道为什么我会使用旧版本的 PHP 吗?
【问题讨论】:
当我在 cli 中运行 php -v 时,我得到了确切的 php 版本 7,但是当我在 Web 服务器中运行 exec("php -v") 时,我得到 php 5.5,甚至在 phpinfo 中我看到我正在运行 php 7 ?!知道为什么我会使用旧版本的 PHP 吗?
【问题讨论】:
运行 exec 你会得到 PHP 的 CLI 版本
您可能将 php5.5 安装为 CLI 并将 php7 安装为 apache 模块
【讨论】:
which php。此外,为您的 apache 用户配置的 php(即:www-data)可能与用户的 php cli 不同
如果您使用 CentO,请将此行添加到 /etc/bashrc 的末尾(或 ~/.profile 对于 Ubuntu)
export PATH=$PATH:/your/path/to/php7/bin
然后运行:
source /etc/bashrc
P/s 如果你编辑/etc/profile.d 可能会更好。看看他们俩。
更新
在 MacOS 中,让编辑 ~/.bash_profile(如果它不存在,则创建它)具有相同的内容。
【讨论】:
php -v 时,将运行cli 版本,而不是php web 服务器进程。所以,让操作系统指向 php bin dir
which php、whereis php或创建info.php,其中包含“”。把它放在你的 web 根目录下,访问 localhost/info.php 并在那里查找路径。也许您会在配置参数中找到或进一步...