Php和httpd.conf的配置


http://www.cnblogs.com/homezzm/archive/2012/08/01/2618062.html

 

http://book.51cto.com/art/201309/409623.htm

 

http://www.cnblogs.com/pharen/archive/2012/02/06/2340628.html

 

http://www.jb51.net/article/21004.htm

--------------------------------------------------------------------------------------------------------------------------

services.msc

--------------------------------------------------------------------

原因一:80端口占用 
例如IIS,另外就是迅雷。我的apache服務器就是被迅雷害得無法啟用! 

原因二:軟件沖突 
裝了某些軟件會使apache無法啟動如Dr.com 你打開網絡連接->TcpIp屬性->高級->WINS標簽 把netbios的lmhosts對勾去掉,禁用tcp/ip的netbios. 然后再啟動應該就可以了。 

原因三:httpd.conf配置錯誤 
如果apache的配置文件httpd.conf搞錯了,在windows里啟動它,會提示the requested operation has failed ,這是比較郁悶的事,因為查錯要看個半天。 
其實可以用命令行模式啟動apache,並帶上參數,apache會提示你哪句有誤,然后就可以針對性的解決,命令如下: httpd.exe -w -n "Apache2" -k start 

還有一種情況: 
即使你這次啟動了,下次你都有可能啟動失敗 
在運行里輸入:netsh winsock reset 
一會兒cmd會提示你重啟,不用理會,現在APACHE已經可以啟動了。 
其實就是一個winsock的修復

-------------------------------------------------------------------------------------

1.要下載THREAD SAFE的,你下載的是NOT THREAD SAFE吧
2.如果是64位系統要下載x64的,x86的不行
----------------------------------------------------------------------
配置:
# php7 support
PHPIniDir "E:/phpEnv/php"
LoadModule php7_module "E:/phpEnv/php/php7apache2_4.dll"
AddType application/x-httpd-php .php .html .htm
# configure the path to php.ini

-----------------------------------------------------------------------------------------------------------------------------------------------------------------
 

Php的安裝:

將php-壓縮包解壓到相應的目錄即可。本例我放置到了E:\Program Files\PHP文件夾下。

Php的配置:

1、              將E:\Program Files\PHP中的php.ini-dist復制為php.ini。

如果沒有php.ini-dist文件可使用php.ini-development文件並更改名稱為php.ini(留個備份,好習慣)

  php.ini-development 開發用的

 php.ini-produciton 生產機用的

2、              打開E:\Program Files\PHP\php.ini修改下列語句行:

3、              extension_dir = "E:\Program Files\PHP\ext"

4、       default_charset ="utf-8"

5、             

 

 

5、                將extension=php_exif.dll、php_gd2.dll、php_imap.dll、php_mbstring.dll、php_mcrypt.dll、php_mime_magic.dll、php_mysql.dll、php_mysqli.dll、php_pdf.dll前面的分號“;”去掉。

6、              在【環境變量】的【Path】中加入:;E:\Program Files\PHP; E:\Program Files\PHP\ext兩個值。

7、              其它配置

1、在寫php程序中有時會出現這樣的警告:PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in D:\xxx\xxx\xxx.php on line 10 。這是因為PHP所取的時間是格林威治標准時間,所以和你當地的時間會有出入格林威治標准時間和北京時間大概差8個小時左右,我們可以按照下面的方法解決:1、在頁頭使用date_default_timezone_set()設置我的默認時區為北京時間,即<?phpdate_default_timezone_set("PRC");?>就可以了。2、在php.ini中設置date.timezone的值為PRC,設置好以后的為:date.timezone=PRC,同時取消這一行代碼的注釋,即去掉前面的分號就可以了。

 -----------------------------------------------------------------------------------------------------------------

httpd.conf的配置:

httpd.conf文件的位置:C:\Program Files\Apache Software Foundation\Apache2.2\conf。

這是我本機安裝的目錄。注:網上有好多教程說需要把php目錄下的某某dll文件拷貝到system32下,其實這是不必要的,只需要在httpd.conf中加載php模塊即可。

添加並修改下列語句行: LoadModule php5_module "E:/PHP/php5apache2_2.dll" (需要加””號,否則apache無法啟動)(php5_module修改為php7_module)

 

【ps:

如果php安裝目錄里沒有php5apache2_2.dll,一定是下載的版本不對。

官網左邊有幾段文字:

Which version do I choose?

If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHP。。。。

 

所以你下載V6C versions of PHP

VC6 x86 Non Thread Safe

VC6 x86 Thread Safe

一個是Thread Safe,一個是Non Thread Safe,

 

結果,Non Thread Safe版的php在安裝過程中,沒有Apache的選項:

select the web server you wish to setup

IIS FastCGI

Other CGI

Do not setup a web server

 

而Thread Safe版的安裝過程中有Apache 2.2.x Module選項:

select the web server you wish to setup

Apache 2.2.x Module

Apaceh CGI

IIS FastCGI

IIS CGI

NSAPI

Xitami

NetServe Web Server

Other CGI

Do not setup a web server】

------------------------------------------------------------------------------------------------------

PHP下載的時候有幾個不同版本選擇。那就是VC6 X86和VC9 X86。

 

首先我來解答:

 

VC6是什么?

VC6就是legacy Visual Studio 6 compiler,就是使用這個編譯器編譯的。

 

VC9是什么?

VC9就是the Visual Studio 2008 compiler,就是用微軟的VS編輯器編譯的。

 

那我們如何選擇下載哪個版本的PHP呢?

如果你是在windows下使用Apache+PHP的,請選擇VC6版本;

如果你是在windows下使用IIS+PHP的,請選擇VC9版本;

 

那Non Thread Safe是什么?

Non Thread Safe就是非線程安全;

 

Thread Safe 是什么?

Non Thread Safe 是線程安全;

 

官方並不建議你將Non Thread Safe 應用於生產環境,所以我們選擇Thread Safe 版本的PHP來使用。

 

PHPIniDir "E:/Program Files/PHP"

[

    如果你在鏈接MySql數據庫的時候出現

Fatal error: Call to undefined function mysql_connect() in C:\xxxxx.php

那就是因為你沒有增加此屬性。

]

 

  1. 修改D:\Apache24\conf\httpd.conf.

    把ServerRoot這行修改為 ServerRoot "D:\Apache24", 雙引號之間的就是你的apache放置的位置

  2.  

    修改D:\Apache24\conf\httpd.conf.

    把DocumentRoot按照下面的內容修改:

    DocumentRoot "d:/Apache24/htdocs"

    <Directory "d:/Apache24/htdocs">

    把Listen Port修改為:Listen 8080

  3.  

    添加下面幾行,增加對php5的支持:

    # php5 support

    LoadModule php5_module D:/php/php5apache2_4.dll

    AddType application/x-httpd-php .php .html .htm

     

    # configure the path to php.ini

    PHPIniDir "D:/php"

     

  4. 5

    保存httpd.conf, 重啟Apache服務。

    小技巧:d:\apache24\bin\httpd.exe -k install, 這句可以把apache添加到系統服務里去。

     

 

DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" 項目默認的存放路徑,可根據實際情況修改,注:如此節點修改則相應的Directory節點的目錄也需進行修改。

<Directory " C:/Program Files/Apache Software Foundation/Apache2.2/htdocs ">

AddType application/x-httpd-php .php

 

DirectoryIndex index.php index.html

 

注意:Apache Windows配置文件httpd.conf中要求的目錄分隔符是用斜線”/”,而PHP Windows配置文件php.ini中書寫目錄時要求的是反斜線”\”,不要弄混了

配置測試,在DocumentRoot節點所指定的目錄中創建index.php 打印php配置信息。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM