PHP安裝十大經典問題

2021-04-24 21:15:37 字數 4725 閱讀 9364

1. unix/windows: 我的php

.ini 檔案應該放在哪?unix下預設它應該放在 /usr/local/lib 目錄下。這是它的 /lib. 很多人會在編譯時改變它,使用--with-config-file-path 標誌。 例如, 你可以這樣設它: --with-config-file-path=/etc

然後你可以複製源程式包裡的 php.ini-dist 到 /etc/php.ini ,編輯它滿足你的本地化需求。

windows下 php.ini預設的路徑是 windows 系統目錄. 如果你在使用apache

webserver, php.ini 則最先在 apaches安裝

目錄下被查詢, 例如: c:/program files/apache group/apache. 這樣你可以有不同的 php.ini 對應不同版本的 apache(同一臺機器上)。更多細節請查閱 configuration file.

2. unix: 我安裝了 php, 但我每次載入乙個文件, 會得到下面的訊息: 'document contains no data'! 怎麼回事?

這可能是因為你的 php 發生了core-dumping錯誤。 查詢你的伺服器

錯誤日誌

檔案,看看是否屬於這種情況。然後報告這個錯誤。如果你知道怎樣使用 'gdb',你可以提供乙個 backtrace 在你的錯誤報告裡。這將會對開發人員解決這個問題有很大幫助。如果你是在將php作為apache模組使用,那麼請按下面的步驟做:

停止 httpd 程序

停止 httpd 程序

瀏覽你剛才出錯的 url

如果你還有 core dump, gdb 現在會通知你 

打入:在你的 bug report裡應該包含backtrace 。 這些會被發往 http://bugs.php.net/

如果你的指令碼使用了正規表示式

函式

(ereg() and friends), 你應該確保你編譯 php 和 apache 用的是同乙個正規表示式包。 在 php 和 apache 1.3.x 這個過程是自動進行的。

3. unix: 我使用 rpms 安裝 php , 但apache 不支援 php頁面! 怎麼辦?

假設你安裝了 apache 和 php(從 rpm ) , 你需要反注釋或者增加一些行在你的 http.conf 檔案裡: # extra modulesaddmodule mod_php.caddmodule mod_php3.caddmodule mod_perl.c# extra modulesloadmodule php_module modules/mod_php.soloadmodule php3_module modules/libphp3.so /* for php 3 */loadmodule php4_module modules/libphp4.so /* for php 4 */loadmodule perl_module modules/libperl.so

到全域性域裡, 或者到你想要的 支援php的虛擬域裡。

4. 我使用 rpms 安裝 php 3 , 但是它沒有我需要的資料庫

選項支援! 我該怎麼辦?

因為 php 3 內建支援的關係, 編譯乙個完整的可適於所有應用

的 php rpm是相當困難的。 在 php 4有談到這點。 對 php 3, 我們只好建議你使用install.redhat (在 php包裡)描述的機制。 如果你一定要使用 rpm 版的 php 3, 讀... rpm 包管理器設定 rpms 簡單的安裝,不帶資料庫支援 and 因為rpms 使用 /usr/ 而不是標準的 /usr/local/ 目錄存放檔案. 你需要告訴 rpm 檔案你要支援哪種資料庫以及它們的最上級目錄的位置。

下面的例子將解釋在apache模式下怎樣支援通行的資料庫mysql

.當然所有的這些可以稍作修改,以支援其它的php支援的資料庫。我們假設你安裝了 mysql and apache ,完全是用 rpms 安裝的。 

首先,移去 mod_php3 : rpm -e mod_php3 4 *88r:然後取得rpm包並安裝, 不是 --重編譯 rpm -uvh mod_php3-3.0.5-2.src.rpm =%/

%build 節看起來象: ./configure --prefix=/usr / --with-apxs=/usr/sbin/apxs / --with-config-file-path=/usr/lib / --enable-debug=no / --enable-safe-mode / --with-exec-dir=/usr/bin / --with-mysql=/usr / --with-system-regex w o!t"iyou 

改動完成後,象下面這樣重編rpm : rpm -bb /usr/src/redhat/specs/mod_php3.spec ,

then install the rpm rpm -ivh /usr/src/redhat/rpms/i386/mod_php3-3.0.5-2.i386.rpm a?

重啟 apache,你已經得到了rpm下的mysql的支援。 注意到這種做法比你重新得到乙個 php 3 的tarball**

,按照 install.redhat 的指引一步一步做要容易得多。

5. unix: 我用 frontpage 擴充套件包對apache打了補丁, 忽然 php 停止工作

。 是php 和 apache frontpage 包不相容嗎 ?

不是, php 和 frontpage擴充套件包執行得很好.。問題是frontpage 包修改了幾個apache 結構引數,而php要用到它們.在frontpage擴充套件包被打上後, 重新編譯 php (使用 'make clean ; make') ,會解決這個問題。

6. unix/windows: 我安裝了php,但在瀏覽器裡看我的php頁面時,空白一片。

在瀏覽器裡用'檢視原始檔'看你的指令碼,你可能會發現你看到的是源程式。這表示 webserver

並沒有送指令碼到php去執行。肯定是伺服器配置上哪兒出了錯。 仔細檢查php安裝的 server 配置。

7. unix/windows: 我安裝了php,但在瀏覽器裡看我的 php頁面時,我得到乙個 server 500 error。這是伺服器在執行 php 時發生了錯誤。 為了看到可讀的錯誤資訊,在命令列,改變目錄到 (php.exe windows)所在目錄, 執行 php -i. 如果有任何問題,詳細的錯誤資訊就顯示出來了,它會告訴你下一步該做什麼。如果你得到滿屏的html** (phpinfo() 函式的輸出), 那麼php工作正常,這個錯誤就是由於伺服器配置引發的,應該仔細檢查。

8. 某些作業系統: 我安裝php沒出錯,可是我啟動apache時,得到乙個 undefined symbol errors: [mybox:user /src/php4] root# apachectl configtest apachectl: /usr/local/apache/bin/httpd undefined symbols: _compress _uncompress

這個問題其實與 php 無關, 而與 mysql 客戶端庫有關。 --with-zlib,有些作業系統需要,而有些不需要。mysql faq已經講述了這個問題。

這是 php 根本沒有產生任何輸出。 為了看到可讀的錯誤資訊,在命令列,改變目錄到 (php.exe windows)所在目錄, 執行 php -i. 如果有任何問題,詳細的錯誤資訊就顯示出來了,它會告訴你下一步該做什麼。 如果你得到滿屏的html** (phpinfo() 函式的輸出), 那麼php工作正常。

一旦php在命令列模式下工作,再看看你的指令碼程式, 它還是失敗,可能是因為以下原因:

你的php指令碼的許可權許可。 php.exe, php4ts.dll, php.ini 或者任何你可能裝入的php檔案,它樣都必須能被匿名 internet 使用者 isur_ 訪問。

指令碼檔案根本不存在(或者不是你認為的位置。)請注意在iis裡,你能夠阻塞這個錯誤,做法是在設定指令碼對映目錄時, 選上'check file exists'框。這樣如果指令碼不存在,伺服器會返回乙個404錯誤。 這樣做也有其它的一些好處, 就是iis僅為你做經過授權的操作。

10. windows: 我嚴格按照install的要求做,可是還是不能讓我的php在iis下工作。

確定任何想要執行php的使用者有操作php.exe的許可權! iis 使用匿名的internet使用者,它是在iis安裝時系統自動增加的。這個使用者需要操作 php.exe的許可權. 還有,任何需要授權的使用者也必須有訪問 php.exe的許可權。 在 iis4下,你要告訴它php是乙個指令碼引擎。?

安裝後,就可以開始學php了。入門學習

,可以看看《php網路程式設計從入門到精通》《零基礎學php》。入門後,可以看看《php+mysql經典案例剖析》和《完全手冊:php網路開發詳解》。在linux

開發,可以看看《lamp

**

開發**組合 linux+apache+mysql+php》。

十大經典排序

每一次比較完就要立即交換 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。比較完所有...

佛家十大經典

佛家十大經典 經典一 一切皆為虛幻。經典二 不可說。有些話是不能說出來的。一旦失口,往往一絲脆弱的牽伴都會斷掉,縱然痛惜也 經典三 色即是空,空即是色。經典四 人生在世如身處荊棘之中,心不動,人不妄動,不動則不傷 如心動則人妄動,傷其身痛其骨,於是體會到世間諸般痛苦。經典五 一花一世界,一佛一如來。...

人生十大經典實話

1.遇到乞討者 遇到要錢的就給他 她 點飯,遇到要飯的就給他 她 點錢。2.上車遇到老弱病殘 孕婦 讓座的時候別動聲色,也別大張旗鼓。站起來用身體擋住其他人留出空位子給需要的人,然後裝作下車走遠點。人太多實在走不遠,人家向你表示謝意的時候微笑一下。3.雨雪的時候 天冷的傍晚或者是雪天的傍晚,遇到賣菜...