安裝
這節將講述安裝過程中最常見的問題。 PHP 適用於 幾乎任何的 OS (或許 OSX 之前的 MacOS 除外 ), 和幾乎任何的WEB 伺服器。
要安裝PHP, 跟著 發行版裡的安裝 檔案的指引. Windows 使用者也應該讀install.txt 檔案. 這兒也有一些幫助文件 。 1. Unix/Windows: 我的php.ini 應該放在哪裡? 2. Unix: 我安裝了PHP, 但我每次加載一個文檔, 會得到下面的消息: 'Document Contains No Data'! 怎麼回事? 3. Unix: 我使用RPMS 安裝PHP , 但Apache 不支援PHP頁面! 怎麼辦? 4. Unix: 我使用RPMS 安裝PHP 3 , 但是它沒有我需要的資料庫編譯支援! 我該怎麼辦? 5. Unix:我用FrontPage 擴充包對Apache打了補丁, 忽然PHP 停止工作。 是PHP 和 Apache FrontPage 套件不相容嗎 ? 6. Unix/Windows: 我安裝了PHP,但在瀏覽器裡看我的PHP頁面時,空白一片。 7. Unix/Windows: 我安裝了PHP,但在瀏覽器裡看我的PHP頁面時,我得到一個server 500 error. 8. 某些作業系統: 我安裝PHP沒出錯,可是我啟動Apache時,得到一個undefined symbol errors:
[mybox:user /src/php4] root# apachectl configtest apachectl: /usr/local/apache/bin/httpd Undefined symbols: _compress _uncompress9. Windows: 我安裝了PHP,但在瀏覽器裡看得到我的PHP.如下錯誤:
cgi error: The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:10. Windows: 我嚴格按照install的要求,可是還是不能讓我的php在IIS下工作。
1. Unix/Windows: 我的php.ini 檔案該放在哪裡?
UNIX下預設它應該放在 /usr/local/lib 目錄下。 這是它的
Windows下php.ini預設的路徑是Windows 系統目錄. 如果你在使用Apache webserver, php.ini 則最先在Apaches 安裝目錄下被查找, 例如: c:program filesapache groupapache. 這樣你可以有不同的php.ini 對應不同版本的Apache(同一台機器上)。
更多細節請查閱configuration file.
2. Unix: 我安裝了PHP, 但我每次加載一個文檔, 會得到下面的消息: 'Document Contains No Data'! 怎麼回事?
這可能是因為你的PHP 發生了core-dumping錯誤。 尋找你的伺服器錯誤日誌文件,看看是否屬於這種情況。 然後報告這個錯誤。如果你知道怎麼使用 'gdb',你可以提供一個 backtrace 在你的錯誤報告裡。這將會對開發人員解決 這個問題有很大幫助。如果你是在將PHP當作Apache模組使用,那麼請按下面的步驟做:
停止 httpd 進程
gdb httpd
停止 httpd 進程
> run -X -f /path/to/httpd.conf
瀏覽你剛才出錯的 URL
> run -X -f /path/to/httpd.conf
如果你還有 core dump, gdb 現在會通知你
打入: bt
在你的 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 /* for PHP 3 */LoadModule php4_module modules/libphp4.so /* for PHP 4 */LoadModule perl_ule /libperl.soAnd add:
AddType application/x-httpd-php3 .php3 /* for PHP 3 */AddType application/x-httpd-php .php /* for PHP 4 */... 到全域域裡, 或到你想要的支援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
然後取得rpm包並安裝, 不是 --重編譯
rpm -Uvh mod_php3-3.0.5-2.src.rpm
編輯/usr/src/redhat/SPECS/mod_php3.spec 檔案
在 %build 一節裡增加你想要的資料庫支援, 以及路徑資訊。
對 MySQL 你應該要增加:
--with-mysql=/usr %build 節看起來像:
./configure --prefix=/usr --with-apxs=/usr/sbin/apxs --with-config-file-path=/usr/lib --enable-debug=no -with-exec-dir=/usr/bin --with-mysql=/usr --with-system-regex
改動完成後,像下面這樣重編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重啟 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頁面時,空白一片。
在瀏覽器裡用'查看原始檔案'看你的腳本,你可能會發現你看到的是原始程式。 這表示 web server 並沒有送腳本到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 SQL 而與 My --with-zlib,有些作業系統需要,有些不需要。 MySQL FAQ已經講述了這個問題。
9. Windows: 我安裝了PHP,但在瀏覽器裡看我的PHP頁面, 得到以下錯誤:
cgi error: The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
這是 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和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。

在PHP中,trait適用於需要方法復用但不適合使用繼承的情況。 1)trait允許在類中復用方法,避免多重繼承複雜性。 2)使用trait時需注意方法衝突,可通過insteadof和as關鍵字解決。 3)應避免過度使用trait,保持其單一職責,以優化性能和提高代碼可維護性。

依賴注入容器(DIC)是一種管理和提供對象依賴關係的工具,用於PHP項目中。 DIC的主要好處包括:1.解耦,使組件獨立,代碼易維護和測試;2.靈活性,易替換或修改依賴關係;3.可測試性,方便注入mock對象進行單元測試。

SplFixedArray在PHP中是一種固定大小的數組,適用於需要高性能和低內存使用量的場景。 1)它在創建時需指定大小,避免動態調整帶來的開銷。 2)基於C語言數組,直接操作內存,訪問速度快。 3)適合大規模數據處理和內存敏感環境,但需謹慎使用,因其大小固定。

PHP通過$\_FILES變量處理文件上傳,確保安全性的方法包括:1.檢查上傳錯誤,2.驗證文件類型和大小,3.防止文件覆蓋,4.移動文件到永久存儲位置。

JavaScript中處理空值可以使用NullCoalescingOperator(??)和NullCoalescingAssignmentOperator(??=)。 1.??返回第一個非null或非undefined的操作數。 2.??=將變量賦值為右操作數的值,但前提是該變量為null或undefined。這些操作符簡化了代碼邏輯,提高了可讀性和性能。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),