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

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

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

我需要5.3,因为php 5.3configuration了PDO和pdo_mysql ,其中php 5.4没有configuration它也是php 5.3的zend版本是220090626,而php 5.4是220090525。

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

我如何configuration我的Apache为脚本加载php 5.3。

phpinfo.php脚本如下

 <?php phpinfo(); ?> 

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

你必须在你的主机上有本地build立的副本。 which php会告诉你它在哪里。 which -a php会告诉你所有安装在你的$ PATH的PHP版本。 在每一个上运行php -v来查看它是哪个版本。

删除你不想要的版本,你将有PHP 5.3离开。 如果你不能删除它们,那么改变你的$ PATH,如果你想/ usr / bin / php而不是/ usr / local, PATH=/usr/bin:/usr/local/bin /斌/ PHP。 或者,定义一个shell别名:

 alias php=/usr/bin/php 

并把它放到你的shell启动文件(〜/ .bashrc或〜/ .profile)中,这样当你inputphp时,该版本总是可以运行的。