2011-12-01 44 views
0

我正在Linux服務器上開發PHP應用程序。服務器至少安裝了兩個不同版本的php:5.2.0和5.2.9。/usr/local/lib/php可以在哪裏?

5.2.0版本在php.ini的include_path中有以下目錄/usr/local/lib/php

我需要找出該目錄的5.2.9版本所在的位置。

我查了include_path設置在php.ini中5.2.9,但它只有./usr/share/pearinclude_path。 (請注意,我剛剛安裝了梨,因爲5.2.9 php最初是在沒有梨的情況下配置的)。/usr/share/pear中的文件看起來與我在/usr/local/lib/php中看到的文件不匹配,看起來有點荒唐那php_dir/usr/share/pear。有任何想法嗎?

UPDATE - /usr/local/lib/php也可能屬於php 5.2.9嗎?這個目錄本身有什麼我可以查看的嗎?

回答

0

爲了找到它,使用:

]# sudo updatedb 
]# locate php 

可能返回結果的地段,你可以以各種方式進行篩選。我一般是先試試這個:

]# locate php | grep bin 
+0

我知道二進制可執行文件用於php 5.2.9的地方,所以這沒有幫助。/usr/local/lib/php看起來像一個庫目錄,並且與bin沒有任何關係。我會看到我可以用這種方式找到什麼,但另一個問題是,如果我找到一個看似正確的目錄,我不確定如何驗證它實際與哪個版本的php關聯(我們可能會有更多比安裝2個版本!)。 – fronzee

+1

同樣的過程,'找到php | grep lib'等等。可能在lib64中。當我通過yum類型的安裝程序和編譯安裝新版本的PHP時,它會覆蓋舊版本。唯一不同的是,如果我有32位和64位版本。 –

0

您可以在控制檯中嘗試這個命令:

which php 
+0

我知道二進制可執行文件用於php 5.2.9的地方,所以這沒有幫助。 '/ usr/local/lib/php'看起來像一個庫目錄,並且與可執行文件沒有任何關係。 – fronzee

+0

啊,gotcha。誤解了這個問題。沒關係! – Jemaclus

0

嘗試whereis命令。它通常會爲您提供二進制,手冊頁和配置路徑。

$ whereis PHP

然後,您可以檢查信息的每個PHP版本輸出:

$ /path/to/php.binary -i

有應該是有關所使用的包含路徑和配置文件的信息。

+0

查看我對其他答案的評論,以及我的問題中的更新。謝謝。 – fronzee

2

如果您要查找的目錄存在(如果您在安裝過程中排除了梨,則可能不會):默認位置爲/xxx/lib/php,其中/xxx是安裝前綴。

例如,在我的一臺服務器,我的PHP可執行文件(我已經安裝了4個版本)中的一個位於/custom/php5.3.5/bin/php所以它的相應的PEAR /通用庫目錄是/custom/php5.3.5/lib/php

/custom/php5.3.5作爲安裝前綴,通常它將是/usr/local/usr。)

如果你的lib/php目錄有一個pearcmd。PHP文件,請致電(yourphpbin) pearcmd.php info pear,它應該能夠告訴你梨版本,它的要求和whatnot。 (如果pearcmd.php存在,該目錄中存在pear的機會。)梨殼腳本默認爲/xxx/bin/pear/xxx爲安裝前綴。

據我所知,你可以設置它,以便PEAR在多個版本的PHP之間共享。我會假設這是如何設置/usr/share/pear。 (配送庫提供?)不確定pecl是否也適用。如果您有多次安裝梨,您只需確保將要使用的軟件包安裝到正確的梨安裝中。

PHP會很高興地使用你在include_path中告訴它的任何PEAR安裝。