Apache-2.2

從命令行執行的 php -i 和從瀏覽器執行的 phpinfo 顯示不同的 php 參數

  • January 28, 2014

我的問題是,當我執行時php -i,它顯示 php 版本為 php 5.4,載入的配置文件為/usr/local/lib/php.ini. phpinfo.php當我從命令行執行腳本時,它顯示 php 5.3 和載入的配置文件為/etc/php.ini.

如何將預設的 PHP 解釋器啟用為 php 5.3?

我需要 5.3,因為 php 5.3 配置了 PDO,pdo_mysql而 php 5.4 沒有配置它,php 5.3 的 zend 版本是 220090626,而 php 5.4 的版本是 220090525。

當我嘗試從瀏覽器執行 PHP 腳本時,它正在使用 php 5.4(沒有 PDO 副檔名)進行編譯,並作為未定義的 PDO 引發致命錯誤。

如何配置我的 Apache 為腳本載入 php 5.3。

腳本phpinfo.php如下

<?php
phpinfo();
?>

您的 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.

引用自:https://serverfault.com/questions/568834