从命令行执行 php -i 和从浏览器执行 phpinfo 显示不同的 php 参数

从命令行执行 php -i 和从浏览器执行 phpinfo 显示不同的 php 参数

我的问题是,当我执行它时,php -i它显示 php 版本为 php 5.4,加载的配置文件为。当我从命令行/usr/local/lib/php.ini执行脚本时,它显示 php 5.3,加载的配置文件为。phpinfo.php/etc/php.ini

如何启用默认 PHP 解释器为 php 5.3?

我需要 5.3,因为 php 5.3 配置了 PDO,而pdo_mysqlphp 5.4 没有配置它,php 5.3 的 zend 版本是 220090626,而 php 5.4 的 zend 版本是 220090525。

当我尝试从浏览器执行 PHP 脚本时,它正在使用 php 5.4(没有 PDO 扩展)进行编译,并引发致命错误“未定义的 PDO”。

如何配置我的 Apache 以便为脚本加载 php 5.3。

脚本phpinfo.php如下

<?php
phpinfo();
?>

答案1

你的 php.ini 在 /usr/local/lib 中?这完全是错误的,没有包管理器会把该文件放在那里。

您的主机上必须有本地构建的 php 副本。 which php将显示它的位置。which -a php将显示您的 $PATH 中所有已安装的 php 版本。php -v在每个版本上运行以查看它是哪个版本。

删除您不需要的版本,这样您就剩下 php 5.3 了。如果您无法删除它们,请更改您的 $PATH,以便您想要的版本排在第一位,例如,PATH=/usr/bin:/usr/local/bin如果您想要 /usr/bin/php 而不是 /usr/local/bin/php。或者,定义一个 shell 别名:

alias php=/usr/bin/php

并将其放入您的 shell 启动文件 (~/.bashrc 或 ~/.profile),以便当您键入 时该版本始终会运行php

相关内容