標籤:http 使用 os strong 檔案 資料 io 問題
伺服器環境:
Windows 2008 R2 64位。apache,mysql,php都是32位。
1. 80連接埠的外網訪問問題
表現:80連接埠本地可以訪問,外網不能訪問,換了8080連接埠也是一樣,檢查過也沒其它程式佔用這
兩個連接埠。
原因分析:防火牆中沒有配置80連接埠或者apache沒有啟用外網訪問。
解決辦法: 防火牆的入站規則和出站規則都加上80連接埠。修改httpd.conf,找到 Deny from all,全部
改成 Allow from all 。
2. 不能執行PHP
原因分析1: apache沒有載入php5模組
解決辦法: 修改httpd.conf,找到#LoadModule vhost_alias_module modules/mod_vhost_alias.so,
在其下方加入:
12 |
LoadModule php5_module "D:/php/php5apache2_2.dll" PHPIniDir "D:/php" |
注意修改成下php路徑。
原因分析2: apache不能識別php檔案
解決辦法: 修改httpd.conf,添加
1 |
AddType application/x-httpd-php .php |
3. apache不能正常啟動
表現:命令列下啟動apache時會報錯: can not load D:/php/php5apache2_2.dll into server。
原因分析:1.該dll不存在;2.缺少Visual C++ 2008 Runtime。
解決辦法:
針對原因1:確認php目錄下存在該dll檔案。如果沒有,到php官方網站下載完整包,本人用的是
5.3.27非安全執行緒的zip包,而不是msi。
針對原因2:安裝visual c++ runtime library 2008。注意必須是2008版本,為保險起見我在
64位的伺服器上同時裝了64位和32位版。
4. index.php預設不執行
解決辦法:修改httpd.conf,找到DirectoryIndex, 在 index.html前面加上 index.php
5. 串連不上mysql資料庫
連不上資料庫原因有很多,可能資料庫配置問題,使用者名稱密碼不對,防火牆連接埠限制等等。
但是如果你確認資料庫運行正常,使用者名稱密碼資料庫名稱正確,資料庫連接埠不在防火牆規內(如果是本機資料庫不
用管這一點),這些都正常但還是連不上資料庫,那麼原因很可能是就是PHP中沒有正確配置mysql。
解決辦法: 修改 php.ini和httpd.conf。
1.修改httpd.conf,找到 LoadModule php5_module,在其下加一行:
注意修改下php路徑。
2.修改 php.ini。 首先你的php目錄下如果沒有php.ini,只有php.ini.development和php.ini.production,
那拷貝一份php.ini.production,並命名為 php.ini
開啟php.ini,確保 extension_dir配置正確,正確的配置如下:
1 |
extension_dir = "C:/php/ext" |
php目錄改成自己的。注意要使用絕對路徑,即全路徑,使用相對路徑是不行的。
接下來把下面兩行前面的分號去掉
12 |
;extension=php_mysql.dll ;extension=php_mysqli.dll |
修改之後應該是這樣的
12 |
extension=php_mysql.dll extension=php_mysqli.dll |
儲存,重啟apache。