Apache 2.2 + Php 5.1 安裝問題解決

abcbbc發表於2007-05-20
WinXP+apache_2.0.43+php-5.1.6+mysql-5.0.15+phpMyAdmin-2.8.2.4 完全配置1

從網上下載對應的軟體(可以到官方網站,或者google搜尋)

假設把工作目錄設定為d:servermyphp

第一部分:安裝
安裝apache_2.0.43-win32-x86-no_ssl.msi到目錄D:serverapache(隨自己喜好了).
安裝mysql-5.0.15到目錄D:servermysql.
安裝php-5.1.6到目錄D:serverphp.
解壓縮phpMyAdmin-2.8.2.4到d:servermyphpphpMyAdmin.


第二部分:配置

找到 php目錄裡的 php.ini-dist 重新命名為 php.ini 並拷到 windows目錄裡(win2k 裡為winnt)
再將php目錄裡的 php5ts.dll拷到 系統目錄(system/system32) 如我的是C:windowssystem32裡
配置apache2conf目錄下的httpd.conf.
將DocumentRoot項改為 DocumentRoot "d:/server/myphp"
在最後部分增加php模組
LoadModule php5_module "d:/server/php/php5apache2.dll"
AddType application/x-httpd-php .php

找到 AddDefaultCharset ISO-8859-1 將其改為 AddDefaultCharset GB2312 (讓預設語言編碼為簡體中文),一般不要加這個,讓瀏覽器自動判斷。

此時PHP環境基本已經配置成功
在WEB根目錄(如我的D:website)裡建一個名為test.php的檔案內容如下
echo phpinfo(); ?>
重新啟動apache服務
用瀏覽器開啟
如果可以看到php配置輸出資訊就OK了
WinXP+apache_2.0.43+php-5.1.6+mysql-5.0.15+phpMyAdmin-2.8.2.4 完全配置2

第三部分:配置php.ini並測試mysql
配置php.ini並測試mysql(php.ini為 c:windows下的 php.ini)

找到extension_dir = "./" 改為 extension_dir = "d:/server/php/ext"
找到
;extension=php_mysql.dll
將';'去掉改為
extension=php_mysql.dll
再mysql的bin目錄下的libmysql.dll 複製到system32目錄下
找到
;session.save_path = "/tmp"
將';'去掉 設定你儲存session的目錄,如
session.save_path = "D:/php/session_temp";

重啟apache服務
在Web根目錄下(如 c:myphp)建立testdb.php檔案內容如下:
$link=mysql_connect('localhost','root','123456');
if(!$link) echo "fail";
else echo "success";
mysql_close();
?>
用瀏覽器開啟 如果輸出success就OK了

第四部分:phpmyadmin的配置

開啟D:serverMyPhpphpMyAdmindb_details.php
找到
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '123456';
分別填上你mysql的使用者和密碼即可
$cfg['blowfish_secret'] = '12345654321'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
$cfg['Servers'][$i]['nopassword'] = false;
用瀏覽器開啟看到操作介面就OK了
如不是本地使用,最好加上驗證
[@more@]
安裝好Apache 2.2 和 Php 5.1後,在預設的設定下是無法正常工作的,按照配置好以後(注:這裡php配置成CGI形式),有時仍會遇到一些問題。
問題:執行php檔案時,出現提示“No input file specified.
解決:將php.ini中的 doc_root 註釋掉或者正確設定它的值為網站的根目錄。

問題:執行php檔案時,無任何顯示或顯示不正常。
解決:可能是php.ini中的 extension_dir 設定不正確,沒有載入需要的模組,一般可改為"./ext/",然後搜尋"extension="將需要的模組取消註釋。

問題:session 無法使用。
解決:修改php.ini中的 session.save_path,將其值改為有效的目錄,如"c:/windows/temp",注意是分隔符 是"/"。

問題:執行php檔案時,出現如下錯誤:
您無權檢視該網頁
您可能沒有許可權用您提供的憑據檢視此目錄或網頁。
... ...
HTTP 錯誤 403 - 禁止訪問
解決:Apache2.2預設設定有誤,修改如下:

Options FollowSymLinks
Allow from all #修改
Order Allow,Deny #修改
AllowOverride None
Satisfy all
重起Apache試試。

問題:執行php檔案時,出現如下錯誤:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.
Apache 日誌檔案(error.log)中有如下提示:
Premature end of script headers: php.exe, referer:
解決:按照設定,一般要在Apache的配置檔案httpd.conf中加入下面這一行:
Action application/x-httpd-php "/php/php.exe"
而php剛裝好時,預設的php.exe是CLI模式的,應當吧php目錄下的php.exe改名,然後把php-cgi.exe改名為php.exe即可,也可以把上面那一行改為:
Action application/x-httpd-php "/php/php-cgi.exe"
重起Apache試試。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/219138/viewspace-915622/,如需轉載,請註明出處,否則將追究法律責任。

相關文章