Apache-2.2
從命令行執行的 php -i 和從瀏覽器執行的 phpinfo 顯示不同的 php 參數
我的問題是,當我執行時
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
.