一、
問:我已經按步驟安裝了Unix版的APACHE模塊,但是我的PHP腳本源碼顯示在浏覽器當中,或者浏覽器提示我保存文件。為什麼?
答: 這是由於PHP模塊沒有正常工作引起的。請檢查下列三個地方:
請確認正在運行的APACHE執行文件是你最後編譯成功的那一個。輸入如下命令:
/path/to/binary/httpd -l
如果你沒有看到mod_php3.c在列表中,那你就沒有運行一個正確的執行文件。
請確認你已經加入了正確的"Mime Type"在你的某個.conf中。這應該像:
AddType application/x-httpd-php3 .php3
請確認上面那個"AddType"不在或塊當中,否則此AddType只在當前的Virtualhost或Directory中生效。
二、
問:我已經按照說明安裝了PHP,但我的PHP仍然不能和IIS一起工作,為什麼?
答:必須確保需運行PHP的用戶有足夠的權限運行php.exe。IIS服務器使用一個在安裝時創建的匿名賬號,這個賬號需要運行php.exe的權限。另外,任何要經過論證的用戶也有權限運行php.exe.
三、
問:如何與APACHE 1.3.X一起編譯PHP?
答:這很簡單,只需按照如下步驟即可:
- 從APACHE站點上取得最新的APACHE分發包
- UNZIP/UNTAR文件到一個目錄,例如/usr/local/src/apache-1.3.9
- 輸入"./configure --with-apache=/path/to/your/apache"開始第一次編譯PHP
- 順序執行"make","make install" ,建立並復制必需的文件到APACHE的目錄中
- 進入APACHE的目錄中,編輯Configuration文件。在文件的尾部加入:"AddModule modules/php3/libphp3.a"
執行"./Configure","make"
一切搞定,你已經有了一個能運行PHP的APACHE執行文件
四、
問:當我將PHP和APACHE一起編譯時,好象有問題。它總是說無法找到httpd.h文件,可事實上該文件時存在的。為什麼?
答:你需要讓PHP配置/安裝腳本知道你的APACHE源碼的最高級目錄,而不是包含httpd.h文件的目錄。也就是說,應該指定"--with-apache=/path/to/apache/"而不是"--with-apache=/path/to/apache/src"。
五、
問:我使用RPM安裝了PHP,但APACHE卻不能處理PHP文件。為什麼?
答: 假設你使用RPM正確安裝了PHP,那你必須反注或加入下面的幾行到httpd.conf文件中:
#Extra Modules
AddModule mod_php.c
AddModule mod_php3.c
AddModule mod_perlc.
#Extra Modules
LoadModule php_module modules/mod_php.so
LoadModule php3_module modules/libphp3.so
LoadModule perl_module modules/libperl.so
另外,再加入:
AddType application/x-httpd-php3 .php3
到httpd.conf的全局部分,或到你需要提供PHP支持的部分。
六、
問:在WINDOWS下如何用MAIL函數發郵件?
答:PHP在UNIX/LINUX下發郵件用的是SENDMAIL程序,在WINDOWS沒有SENDMAIL,但可以用SMTP協議來完成,具體方法如下:修改PHP.INI文件的[mail function]下的SMTP。
如:
[mail function]
SMTP=public.sta.net.cn ;Win32 Only
七、
問 :php+apache在win9x下的設置一問
運行時出現:“cannot determine local host name,use servername to set it manually”
如果你有IP地址的話,只需在httpd.conf中加入:
ServerName http://你的IP
例如: ServerName http://162.105.38.100