windowsphpapache
㈠ windows下apache與php的疑問
開始菜單里apache程序文件夾裡面有個test,不清楚的話cmd里運行C:\Apache2.2\bin\httpd.exe -w -t -f "C:\Apache2.2\conf\httpd.conf" -d "C:\Apache2.2\."
貼上錯誤代碼,一般就是關聯錯誤,順便貼出apache配置文件中關聯php的配置以及php的版本,帶進程保護的和不帶進程保護的版本配置方式是不一樣的
㈡ windows平台 apache 無法解析PHP怎麼辦
Windows平台下php5.2.10與apache2.2.14詳細配置
1.把php5.2.10壓縮包文件解壓,放入c:/php文件夾。2.將文件php.ini-recommended後綴名修改為.ini,即文件名為php.ini。3.修改php.ini,找到第542行,extension_dir = "",將其值改為extension_dir="c:/php/ext"。若要使其支持mysql資料庫,則將第681行 ;extension=php_mysql.dll 前的 ; 去掉(;為注釋符)。4.然後你可以將c:/php文件夾中的 .dll 文件全部復制到 c:/windows/system32文件夾內(推薦)。也可以在系統環境變數中將path值後面增加"c:/php"值。
具體方法是:
右鍵單擊「我的電腦」,打開「屬性」,點擊「高級」選項卡,點 「環境變數」按鈕,在打開的「環境變數」對話框中的「系統變數」框內,找到path 變數,在其後增加值「c:/php」。5.找到apache的httpd.conf文件
用記事本打開後,在其底部加入以下語句保存,重啟Apache即可LoadMole php5_mole "c:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
㈢ 求windows下PHP+apache+mysql+zend的完整配置
首先配置環境
第一步:下載安裝的文件
1. MySQL:版本 mysql-5.1.56-win32.msi;
2. Apache: 版本httpd-2.2.17-win32-x86-no_ssl.msi;
3. PHP5.3.5 版本php-5.3.5-Win32-VC6-x86.Zip
4. phpMyadmin 版本phpMyAdmin-3.4.0-beta3-all-languages.7z
5. PHP腳本集成開發環境zendstudio8.0
注意:一定要下載php-5.3.5-Win32-VC6-x86版本的,不要下載php-5.3.5-nts-Win32-VC6-x86版本,更不要下載VC9版本的,因為VC9是專門為IIS定製的,VC6 是為了其他WEB服務軟體提供的,如 Apache。Apache伺服器又有openssl和no_ssl之分,openssl表示帶有openssl模塊,利用openssl可給Apache配置SSL安全鏈接。
第二步:安裝文件
1. 在要安裝的磁碟建一個文件夾(筆者的做法是在D盤的根目錄下創建一個php文件夾D:php)。
2. 安裝Apache伺服器,安裝完成後的目錄結果是:D:phpApache。(就是把Apache伺服器安裝在D:phpApache文件夾里,這個安裝目錄是可以自定義的,是Apache的安裝目錄。)
3. 把下載的php-5.3.5-Win32-VC6-x86解壓的D:php目錄中,可以把文件夾的名字改短,結果D:phpphp5
4. 安裝MySql資料庫,它的安裝和一般情況一樣。筆者把他安裝在(D:phpMySQL)和php同目錄。
第三步:配置PHP5.3.5
1. 配置PHP5.3.5,打開php安裝目錄(筆者是D:phpphp5)可以看到目錄下有兩個這樣的文件php.ini- development和php.ini-proction,第一個是開發使用的配置文件,第二個是標準的生產環境的配置,選擇前者借即可。
2. 選擇php.ini-development復制一份到同目錄下,並改名為php.ini使用文本工具打開。
查找
; On windows:
; extension_dir ="ext"
可以看到兩個; extension_dir ="ext",選擇On windows:下面的那個並去掉前面的分號;,修改為
; On windows:
extension_dir ="d:/php/php5/ext"
表示指定PHP擴展包的具體目錄,以便調用相應的DLL文件。
注釋:網路上有一些配置教程要求把php.ini復制到系統盤的windows文件夾下,筆者經過Windows7下的測試,沒有必要,如果讀者仍有疑慮,也可將php,ini放在windows文件夾下,呵呵。
3.php默認許多功能和擴展是關閉的,默認PHP並不支持自動連接Mysql,需開啟相應的擴展庫功能。查找
;extension=php_curl.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_mysql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_odbc.dll
;extension=php_xmlrpc.dll
把extension前面的分號去掉。
注釋:網路上有些配置的教程是把php/ext內的這幾個DLL文件拷貝到系統盤的system32文件夾下,原理都是一樣的,這里是在php.ini文件中開啟擴展程序,PHP5能夠通過php.ini配置文件的配置自動識別DLL程序擴展,不用多此一舉。
查找short_open_tag = Off把它修改成short_open_tag = On,讓其支持短標簽。
注釋:如果希望載入其他模塊,方法相同,去掉前面的分號。關於PHP的擴展庫問題,我們待會還要討論。
在更新配置時,最好備份php.ini文件,避免不必要的麻煩。
4.配置PHP的Session功能
(對於PHPer新手來說,這一步,以及開啟文件上傳擴展,調整時差問題,一開始可能不太常用,在以後的PHP學習中,在學到Session功能的應用時,相關資料上會有如何配置的介紹,以後霢霂也會更新和PHP配置高級應用的文章。)
在使用session功能時,我們必須配置session文件在伺服器上的保存目錄,否則無法使用session,我們需要在Windows 7上新建一個可讀寫的目錄文件夾,此目錄最好獨立於WEB主程序目錄之外,此處我在D盤根目錄上建立了phpsessiontmp目錄(這個是一定要建的,要不然在啟動phpMyAdmin的時候就會報sesison啟動不了的錯誤),然後在php.ini配置文件中找到
;session.save_path ="/tmp"
改為
session.save_path ="D:/phpsessiontmp"
這一步的配置對於phpadmin的配置是很重要的,phpadmin的設置有一個使用cookie登錄,如果沒有設置就會出錯。大家可以試試。
對於初級的PHPer來說,建立session文件夾只是為了理解session的使用,就是保存網站瀏覽者和用戶的登錄信息,但是對於大型的網站,由於瀏覽量和用戶的數目龐大,要從眾多的用戶session中檢索出某位用戶的信息就變得讓人難以忍受了,這時候就會使用資料庫保存和讀取session了,在session和資料庫的知識里,大家就能學習到相關內容,在這只是為了大家能夠看的明白。
5. 復制php5ts.dll文件到WINDOWS/system32目錄下。這是PHP5配置中簡單而重要的一步,通過php5ts.dl系統就能都識別PHP5的腳本執行程序,並能夠正確的解釋執行PHP腳本。
注釋:只有php-5.3.5-Win32-VC6-x86版本中才有php5ts.dll ,
php-5.3.5-nts-Win32-VC9-x86版本是沒有的。
第四步:配置Apache
1. 打開Apache目錄下conf目錄中的httpd.conf文件,查找#LoadMole,在其末尾處大概是128行的地方(提示,如果讀者找不到128在什麼位置,也沒什麼關系,確切的位置是#LoadMole vhost_alias_mole moles/mod_vhost_alias.so下,也可以下載一個Notepad++,作為文本編輯軟體,也可以用來編輯PHP腳本)
添加:
LoadMole php5_mole"D:/php/php5/php5apache2_2.dll"
PHPIniDir"D:/php/php5"
AddType application/x-httpd-php .php
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
目錄結構根據用戶自己目錄配置,在更改配置時最好先備份原文件。
2. 修改具體的index文件先後順序,由於配置了PHP功能,當然需要index.php優先執行
查找DirectoryIndex index.html 將其修改成
DirectoryIndex index.php default.php index.html index.htm default.html default.htm
配置這里是指在打開頁面默認直接打開的頁面,就好像我們登陸網站的主頁,一般打開的都是名為index.php或者index.html的頁面。
3. 我們知道Apache默認伺服器執行WEB主程序的目錄為Apache2.2/htdocs ,所以當你的WEB主程序目錄變更時,我們需要修改相應的Apache配置,查找DocumentRoot將其修改為指向你需要放置web文件的文件夾上(筆者在D:/php目錄中創建了一個www文件夾)所以DocumentRoot就是DocumentRoot"D:/php/www",讀者可以根據自己配置來修改。
在安裝Mysql時,也會出現提示,讓讀者選擇資料庫文件的存放位置,為了防止開發網站程序後期,上傳網站程序時(一般自己建站都是租用虛擬主機)出現不必要的麻煩,建議把資料庫表文件放在與PHP網頁源碼同一級的文件夾中,例如D:/php/SQldata。
4. 查找<Directory將其修改為你自己配置的DocumentRooot的路徑(筆者是<Directory"D:/php/www">)
第五步:測試php+Apache+MySql是否配置成功
1. 打開MySql在MySql中創建一個新資料庫和表。(筆者是userInfo資料庫和users表就有id和name兩個欄位)
測試嗎?簡單就好,呵呵!!
2. 在上面創建的www文件夾中創建一個index.php文件使用EditPlus(又一個文本編輯器)或者其他文本工具打開。
3. 寫入:代碼如下:
<?
$DB_HOST ="localhost";
$DB_USER ="root";
$DB_PASS ="root";
$DB_NAME ="userInfo";
mysql_connect($DB_HOST,$DB_USER,$DB_PASS);
mysql_select_db($DB_NAME);
mysql_query("set NAMES gb2312");
$sql ="Select * From users";
$result = mysql_query($sql);
while($data=mysql_fetch_array($result)){
echo"------------------------";
echo $data['id']."<br/>";
echo $data['name']."<br/>";
}
mysql_close();
?>
說明 set NAMES gb2312 這個和mysql的資料庫編碼一致,如果server的編碼是utf8,那這個也要用utf8的。
注釋:關於測試的代碼還有很多,但是都大同小異……
筆者在這里再介紹兩個源碼,分別這是PHP配置和Mysql資料庫是否關聯成功
源碼1:PHP5配置相關信息
<?php
phpinfo();
?>
源碼2:Mysql資料庫是否關聯成功
<?php
$link=mysql_connect("127.0.0.1","root","pwd");
//root為默認資料庫用戶名,pwd是你設置的資料庫密碼,如果使用127.0.0.1
//無法登錄Mysql,打開C:WindowsSystem32driversetc下的hosts文件,
//查看 將 # 127.0.0.1 localhost的#號去掉。
if($link!=false)
{
echo"成功連接mysql伺服器";
}
else
{
echo"與本地Mysql伺服器連接失敗";
}
mysql_close();
?>
4.啟動Apache伺服器,在瀏覽器輸入http://localhost/回車。
如果進入相關頁面,可以看到PHP的配置信息Mysql鏈接成功的頁面:表示我們大功告成了!祝賀祝賀!
注釋:PHP對中文支持不好,文件名和文件夾名最好用字母或英文。
第六步配置phpMyadmin
Phpadmin是使用PHP腳本編寫的Mysql資料庫圖形化管理軟體,應用簡單普遍。
phpMyAdmin 默認下載後,需要進行安裝配置後,才可以正常使用。安裝配置phpMyAdmin軟體,只要把握幾個要點,進行起來就很簡單了。下面,就是我常用的配置方法。
前提條件:
網站根目錄:D:wwwhost
PHP根目錄:D:wwwphp5
MySQL根目錄:D:wwwmysql
phpMyAdmin根目錄:D:wwwhostphpmyadmin
1. 首先解壓phpMyAdmin-3.4.0-beta3-all-languages.7z,然後重命名為phpmyadmin,將其復制到php腳本的WEB主程序目錄下,我復制到D:www目錄下。
2. 從「D:wwwhostphpmyadminlibraries」目錄下找到「config.default.php」。
使用zendstudio8.0打開(如果你安裝了這個PHP安裝環境的話,zendstudio8.0是大家公認的最好的PHP腳本的集成開發工具),查找以下信息,並做出相應更改。
$cfg['PmaAbsoluteUri'] = '';改為$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';
說明:定義PHPMYADMIN位置,一般來說應該是(http://localhost/phpmyadmin/)本地測試填寫:localhost,phpadmin就是phpMyadmin在php的主目錄下的文件夾名字;
伺服器測試填寫:ip or domain,即你的網站的域名。
$cfg['Servers'][$i]['host'] = '';改為$cfg['Servers'][$i]['host'] = 'localhost';
(說明:默認無需修改)
$cfg['Servers'][$i]['user'] = '';改為$cfg['Servers'][$i]['user'] = 'root';
說明:默認網站資料庫用戶名
$cfg['Servers'][$i]['password'] = '';
改為$cfg['Servers'][$i]['password'] = '****';
說明:輸入你資料庫的密碼
$cfg['blowfish_secret'] = '';改為$cfg['blowfish_secret'] = 'cookie';
說明:本地無需設置,網路需設成cookie
$cfg['Servers'][$i]['auth_type'] = 'config';改為$cfg['Servers'][$i]['auth_type'] = 'cookie';
說明:網路須啟用cookie來防止惡意注入
$cfg['blowfish_secret'] = '';改為$cfg['blowfish_secret'] = 'cookie';
3.網路上相關教程,大多會讓大家把從「D:wwwhostphpmyadminlibraries」下拷貝一份「config.default.php」到「D:wwwhostphpmyadmin」下,重命名為「config.inc.php」,那些事phpMyadmin3以前的的版本的配置方法,在phpMyadmin3發布以後,就不需要這樣做了,只要修改libraries/config.default.php配置文件的配置項即可。這是因為phpmyadmin現在的版本默認首先載入libraries/config.default.php配置文件的內容,如果有config.inc.php,就會在config.inc.php配置文件中找到相同的變數並覆蓋,所以如果沒有特別的設定,你不需要再去創建一個config.inc.php,只要在libraries/config.default.php進行相關的配置即可。
4.關於短語密碼的問題。現在phpMyadmin版本可以不用設置短語密碼了。
測試為:
在瀏覽器上輸入:http://localhost/phpmyadmin/index.php, 出現 登錄界面,輸入mysql的用戶名和密碼,就可以進去了。
配置Zend Framework環境
比如你的httpd.conf的配置如下:
<virtualHost *:80>
ServerName www.example.com
DocumentRoot "C:/example"
<Directory "C:/example">
AllowOverride all
Order Deny, Allow
</Directory>
</virtualHost>
關鍵的是需要在example的根目錄下面添加一個目錄:
.htaccess,這個是用來進行處理所有到該目錄下面的請求:
SetEnv DEBUG_ENV TRUE
RewriteEngine On
RewriteCond &{REQUEST_FILENAME} -s [0R]
RewriteCond &{REQUEST_FILENAME} -l [0R]
RewriteCond &{REQUEST_FILENAME} -d
RewriteCond ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
這樣在index.php中配置需要的環境,比如:
<?php
// 定義應用程序當前是否為調試模式
defined('DEBUG')
|| define('DEBUG', (getenv('DEBUG_ENV') == 'TRUE' ? true : false));
// 定義應用程序根目錄
defined('PROJECT_PATH')
|| define('PROJECT_PATH', dirname(dirname(dirname(__FILE__))));
// 定義系統配置文件路徑
defined('APPLICATION_CONFIG_INI')
|| define('APPLICATION_CONFIG_INI', PROJECT_PATH . '/applications/example/config/application.ini');
// 重新定義PHP默認搜索目錄
set_include_path(implode(PATH_SEPARATOR, array(
PROJECT_PATH . '/library',
PROJECT_PATH . '/models',
get_include_path()
)));
// echo get_include_path();exit;
// 調試模式時開啟錯誤輸出
if (DEBUG) {
error_reporting(E_ALL);
ini_set('display_errors', true);
} else {
error_reporting(8191);
}
// 設置時區
date_default_timezone_set('Asia/Shanghai');
// 啟動Light類庫自動載入功能
require_once 'Light/Loader.php';
Light_Loader::autoLoad();
// 載入配置文件
//require_once 'Hexin/Config/Ini.php';
$appcfg = new Hexin_Config_Ini(APPLICATION_CONFIG_INI, !DEBUG);
require_once 'Zend/Registry.php';
Zend_Registry::set('appcfg', $appcfg->read());
// 記錄整個響應所消耗的時間
$clock = Light_Debug_Clock::getInstance();
ob_start();
// 路由分發請求
$frontController = Light_Controller_Front::getInstance()
->enableAutoRender()
->setMolePath(PROJECT_PATH . '/applications')
->setRouter(new Light_Router_Rewrite())
->registerPlugin(new example_Controller_Plugin_Auth())
->dispatch();
// 輸出整個響應所消耗的時間(Head頭方式)
$clock->storage('Dispatch');
ob_end_flush();
㈣ 如何在windows下配置apache+php+mysql
PHP環境搭建
1Windows 7下安裝Apache服務
點擊下載的httpd-2.2.21-win32-x86-openssl-0.9.8r.msi程序,一系列的許可允許之後,來到伺服器信息配置步驟,如下圖所示。分別填寫Network Domain,ServerName及Administrator』s Email Address,因為是在Win7下做開發環境使用,這三項可以隨便填寫,不需要過多在意。最後一個選項是讓用戶選擇,該Apache服務是針對當前用戶還是Win系統中的所有用戶,一般選擇第一個即可,該選項默認Apache埠是80。如果選擇第二項,僅針對當前用戶,則埠號為8080。
2Apache伺服器信息
完成上述操作之後,點擊下一步,選擇Custom Setup,進行自定義安裝。選擇框中的各種選項我們保持默認即可,不需要更改。這一步我們只需要注意修改Apache安裝的路徑。
3 Apache自定義安裝
完成上述幾步操作之後,一路點擊Next,即可完成Apache在Win7下的安裝。完成之後,打開瀏覽器訪問127.0.0.1或localhost,如果出現「It works!」,表示Apache服務安裝成功。
4 PHP環境搭建:
Windows 7下安裝Mysql服務
MySQL的安裝相比Apache更為簡單,雙擊mysql-5.5.20-win32.msi,一路Next,同樣選擇Custom Setup自定義安裝,如下圖所示,只需要選擇安裝的路徑即可,接著一路Next即可完成Win7下Mysql服務的安裝。
5 MySQL自定義安裝
PHP環境搭建第三步:Windows 7下Mysql配置
完成安裝之後,MySQL會跳出MySQL Server Instance Configuration窗口,這一塊是對MySQL伺服器做的相關配置。首先,因為是開發環境,我們選擇StandardConfiguration標准配置。配置第一步如下所示,MySQL服務名稱默認即可不需要改變,將」Include bin Directory in Windows PATH」勾選上,此項用於在CMD中直接可以使用MySQL命令行工具。
6 MySQL系統配置
MySQL配置的第二步是設置root密碼,原始安裝的資料庫root用戶是沒有密碼的,我建議各位在這里,無論簡單復雜,都設置一個密碼。另外注意「Enable root access from remote machines」選項用於選擇是否允許root用戶遠程連接資料庫,做為開發環境,此項可以不選上也可以選上。「CreateAn Anonymous Account」不用勾選,匿名賬戶對於開發環境沒有太多作用。
7 MySQL安全配置
完成上述MySQL配置之後,系統會開始進行配置過程,大概不到一分鍾的時間,MySQL在Win7下的配置完成。這里我們先暫時不管PHP與MySQL之間的關聯問題,等安裝PHP結束之後,再做統一的配置。
PHP環境搭建第四步:Windows 7下PHP安裝
因為我們下載的是php的zip包,相當於綠色軟體一樣,不需要進行繁瑣的安裝,直接解壓php-5.3.9-Win32-VC9-x86.zip文件到任意目錄當中即可完成PHP在Win7系統下的安裝。
8 PHP環境搭建
Windows 7下PHP、Apache、MySQL綜合配置
請注意:配置過程中使用的輸入均為英文輸入,尤其是標點符號的雙引號,文中可能為中文引號,一旦直接復制粘貼,可能導致配置失敗!!!
還有,如果在windows的文件夾系統直接復制路徑,文件夾之間是反斜線(\),但是配置中使用的均為斜線(/),請不要輸入錯誤。
PHP配置
首先進入PHP解壓的目錄,找到php.ini-development配置文件,並將其重命名為php.ini,該文件即為當前系統php的配置文件。打開php.ini配置文件,根據下面提示進行配置。
找到如下內容
; On windows:
; extension_dir = "ext"
修改為
; On windows:
extension_dir = "E:/ProgramFiles (x86)/PHP/ext"
請注意,extension_dir前面的分號需要去掉,另外將值修改為PHP文件夾下的ext文件夾路徑,該配置用於更新PHP擴展路徑文件夾,所有的擴展庫都在該文件夾中。
接著,需要讓PHP支持MySQL資料庫,並開啟如CURL,GD2,XML,PDO等擴展,找到如下內容,將其前面的分號(;)去掉。
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_xmlrpc.dll
都知道PHP支持session功能,默認的,PHP的session是保存在文件系統中的,那麼需要為Session設置保存文件夾。
找到如下內容
; session.save_path = "/tmp"
修改為
session.save_path = "E:/Program Files (x86)/PHP/custom/session"
將分號取出,並重新設置任意路徑,確保文件夾存在即可,為了管理方便,建議設置到PHP的安裝路徑當中,防止不小心給刪掉。
完成session設置之後,我們還需要配置一個文件夾路徑,即PHP的臨時文件路徑,學習PHP的同學都知道,在通過PHP上傳文件時,文件首先是在一個臨時文件夾當中的。
找到如下內容
; upload_tmp_dir =
修改為
upload_tmp_dir = "E:/Program Files (x86)/PHP/custom/upload"
最後,PHP在5.3版本之後需要強制設置時區,否則在運行phpinfo()及部分程序時將報錯無法運行。
找到如下內容
;date.timezone =
修改為
date.timezone = Asia/Shanghai
配置Apache支持PHP
在Apache配置目錄E:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf中(這是安裝目錄,請注意windows下直接復制的路徑使用反斜線做分隔符,配置文件中全部是使用斜線做分隔符,請千萬注意!),找到httpd.conf配置文件。
在
#LoadMole vhost_alias_mole moles/mod_vhost_alias.so
下面一行添加如下內容。
LoadMole php5_mole "E:/Program Files (x86)/PHP/php5apache2_2.dll"
PHPIniDir "E:/Program Files (x86)/PHP"
AddType application/x-httpd-php .php .html .htm
該配置第一行指定PHP及Apache的模塊路徑,該模塊文件一般位於php根目錄下,
第二行用於指定PHP在Win7中的路徑,
第三行添加文件類型,其中,第一及第二行需要根據PHP的安裝路徑進行修改。
接著,需要為Apache指定WEB伺服器的根目錄,默認的,Apache根目錄為Apache目錄下的htdocs文件夾,為了方便開發,將其設置在E盤下的htdocs目錄。首先在E盤下建立htdocs目錄,當然也可以修改為任意想命名的WEB根目錄,然後,在配置文件中分別找到如下內容。
DocumentRoot "E:/Program Files (x86)/ApacheSoftwareFoundation/Apache2.2/htdocs"
<Directory "E:/Program Files (x86)/ApacheSoftwareFoundation/Apache2.2/htdocs">
修改為
DocumentRoot "E:/htdocs"
<Directory "E:/htdocs">
最後,修改根目錄的初始文件類型,Apache默認使用index.html作為目錄的初始文件,這里為了讓Apache首先尋找php文件,做些修改。
找到如下內容
DirectoryIndex index.html
修改為
DirectoryIndex index.php index.html
到此,Apache支持PHP的相關配置完成,重啟伺服器,在新的目錄中創建index.php文件,並寫入如下內容。
<?php
phpinfo();
?>
再次打開瀏覽器,訪問localhost,一切正常的話,就會顯示php的相關配置信息了
9PHP配置信息
測試PHP對MySQL的支持
最後需要測試下PHP是否已經能夠連接資料庫,在配置過程中,曾經將;extension=php_mysql.dll等一系列與MySQL相關的擴展之前的分號給去除,這樣PHP就能夠通過這些擴展完美支持相應的程序。在根目錄中創建mysql.php文件,並寫入如下內容。
<?php
$dbc= mysql_connect("127.0.0.1","root","(你的mysql密碼)");
if(!$dbc) {
echo"資料庫鏈接錯誤!";
}else{
echo"PHP環境搭建:Windows7系統配置PHP+Apache+MySQL環境教程";
}
mysql_close();
?>
10 在瀏覽器中訪問,127.0.0.1/mysql.php,如果提示「PHP環境搭建:Windows7系統配置PHP+Apache+MySQL環境教程」,則說明PHP已經完美支持MySQL了。
㈤ 請教windows下apache的許可權設置
因為我的伺服器是2008的且是64位的windows下apache的許可權設置,這里只說Windows下Apache應用環境相關的目錄許可權設置,至於其他基本的伺服器目錄許可權設置就不提啦!
這個是我的伺服器實際進行配置的環境配置情況:
apache安裝目錄:d:www-sapache
php目錄:d:www-sphp5
mysql目錄:d:www-smysql
網站根目錄:d:wwwhtdocschaodiquan.com 抄底專門為運行Apache運行所使用的用戶:apache-u(可不隸屬於任何用戶組)Windows下Apache應用環境塔建目錄安全設置操作步驟:配置目錄許可權 這里的許可權是重點
Apache所在的根目錄(也就是D盤),只需要讀取的許可權,並且這個讀取許可權不需要繼承到子目錄與文件(可以在許可權設置高級里選擇——應用到:只有該文件夾——許可權:列出文件夾/讀取數據, 讀取屬性,讀取擴展屬性,讀取許可權——確定)。
Apache安裝目錄的上級目錄(d:www-s),需要「讀取」的許可權(和根目錄D盤的許可權雷同)。
Apache安裝目錄,需要「列出文件夾目錄」和「讀取」的許可權(可以為了方便使用繼承)。
Apache安裝目錄下的子目錄許可權設置
「bin」和「moles」目錄需要「讀取和運行」、「列出文件夾和目錄」、「讀取」的許可權。
「logs」目錄需要「列出文件夾和目錄」、「讀取」、「寫入」的許可權(若Apache安裝目錄的許可權使用啦繼承,可只添加「寫入」許可權即可)。
到這里Apache的許可權已經設置完畢,接下來設置PHP的許可權
PHP目錄(PHP5)可簡單的設置為「讀取和運行」、「列出文件夾和目錄」、「讀取」的許可權。
Mysql目錄下的bin文件夾和文件(mysql)需要為添加apache用戶的「遍歷文件夾和運行文件」、「列出文件夾和讀取數據」的許可權(可以在許可權高級設置里找到)。
到這里Apache+Mysql+Php已經基本可以使用,接著配置網站根目錄許可權
網站根目錄(www內)的上級目錄www需要讀取(「列出文件夾和讀取數據」、「讀取屬性」、「讀取擴展屬性」、「讀取許可權」)的許可權(和Apache的上級目錄許可權雷同,不需要繼承到子目錄和文件中去)。
網站根目錄(htdocs)可簡單的設置「讀取」許可權就可以啦(然後可以根據需要對緩存文件夾設置可寫許可權)。
到這里Apache+PHP+Mysql的環境受限制許可權設置基本完成。
為Apache服務啟用受限制用戶
進入服務管理器(Services.msc,或者「我的電腦——屬性——管理——服務」),找到Apache的服務項(Apache2.2),設置屬性,登錄用戶選擇受限用戶(Apache-u)輸入受限用戶的密碼,應用,確定。
這里「確定」之後一般會有提示(已授予賬戶.apache-u「以服務方式登錄」的權利)。這個提示相當於在組策略(開始->管理工具
->本地安全策略,或者使用gpedit.msc打開)中的「用戶權利分配」中選擇「作為服務登陸」,添加apache-u用戶。
可在任務管理器中查看httpd.exe進程的用戶名為apache-u,使用PHP+Mysql的程序都可正常運行。
到這里已經完成啦「Windows下Apache應用環境目錄許可權」的受限制使用設置。
㈥ windows下php怎麼重啟apache
<?php
//windows ,希望不是破壞的目的.
$bat_filename = dirname(__FILE__). DIRECTORY_SEPARATOR.'cmd.bat';
$apache_service_name = "Apache2.2"; //Apache 服務名,你的可能不一樣
$bat_content= sprintf('
net stop %s
net start %s
',$apache_service_name , $apache_service_name);
if(!function_exists("file_put_contents")){
function file_put_contents($filename,$content){
$fp = fopen($filename,"wb");
$return = fwrite($fp , $content);
fclose($fp);
return $return;
}
}
file_put_contents($bat_filename , $bat_content);
exec($bat_filename);
㈦ windows下怎麼安裝php7,php7裡面沒有這個php7apache2
1 打開(1)[程序和功能],然後點擊(2)[打開或關閉Windows功能] 如何在Windows7(IIS7)環境下安裝 PHP 2 勾選(1)[IIS管理控制台]和(2)CGI,然後點擊[確定]按鈕,等待安裝完成。這個過程可能需要系統安裝光碟。
㈧ Windows下的php用IIS做Web服務好還是用Apache好
一,在apache中php以模塊的方式與apache結合的即PHPIniDir "E:\phpsite\php"(這部是設置php.ini的位置) LoadMole php5_mole "E:/phpsite/php/php5apache2_2.dll"
二,在用IIS整合php時,有兩種方式:ISAPI(.exe可執行文件【php.exe,php-cgi.exe】)與CGI(.dll動態鏈接庫)模式,這兩種方式,我們都可以看到phpinfo頁面,但是使用ISAPI模式,無法讀取環境變數,所以通過環境變數PHPRC設置的php.ini路徑無法找到。使用CGI就可以,這樣就不必把好多文件拷到系統文件下。
三,配置文件(PHP 3 中是 php3.ini,自 PHP 4 起是 php.ini)在 PHP 啟動時被讀取。對於伺服器模塊版本的 PHP,僅在 web 伺服器啟動時讀取一次。對於 CGI 和 CLI 版本,每次調用都會讀取。
php.ini 的搜索路徑如下(按順序):
* SAPI 模塊所指定的位置(Apache 2 中的 PHPIniDir 指令,CGI 和 CLI 中的 -c 命令 行選項,NSAPI 中的 php_ini 參數,THTTPD 中的 PHP_INI_PATH 環境變數)
*HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath(Windows 注冊表位置)
*PHPRC 環境變數
*當前工作目錄(對於 CLI)
*web 伺服器目錄(對於 SAPI 模塊)或 PHP 所在目錄(Windows 下其它情況)
*Windows 目錄(C:\windows 或 C:\winnt),或 --with-config-file-path 編譯時選項指定的位置
我在Server2003+php4的環境下遇見了這個問題,解決的方法是在前面寫PATH環境變數的時候,添加一個PHPRC,指向x:\php4\php.ini,重新啟動即可,如果實在還是不行的,最後還有一招就是安裝zend,php加速器,因為安裝zend的時候,會指定php.ini的路徑,也會指定所使用的伺服器是IIS還是Apache,起本質是對注冊表做了修改,但是我不知道修改了哪個位置,所以我在上面的操作還是無效的情況下,最後安裝Zend,終於成功解決問題了。
四,IIS下PHP的ISAPI和FastCGI比較 (2009-8-2)
1、CGI(通用網關介面/Common Gateway Interface)一般是可執行程序,例如EXE文件,和WEB伺服器各自占據著不同的進程,而且一般一個CGI程序只能處理一個用戶請求。這樣,當用 戶請求數量非常多時,會大量佔用系統的資源,如內存、CPU時間等,造成效能低下。
2、ISAPI(Internet Server Application Program Interface)是微軟提供的一套面向WEB服務的API介面,它能實現CGI提供的全部功能,並在此基礎上進行了擴展,如提供了過濾器應用程序接 口。ISAPI應用大多數以DLL動態庫的形式使用,可以在被用戶請求後執行,,在處理完一個用戶請求後不會馬上消失,而是繼續駐留在內存中等待處理別的 用戶輸入。此外,ISAPI的DLL應用程序和WEB伺服器處於同一個進程中,效率要顯著高於CGI。
3、FastCGI是可伸縮架構的CGI開放擴展,其主要行為是將CGI解釋器進程保持在內存中並因此獲得較高的性能。傳統的CGI解釋器的反復載入 是CGI性能低下的主要原因,如果CGI解釋器保持在內存中並接受FastCGI進程管理器調度,則可以提供良好的性能、伸縮性等。
以 ISAPI 模式運行 PHP 的,這種方式最大的缺點就是穩定性不好,當 PHP 出錯的時候,Apache進程也死掉了
FastCGI 模式運行 PHP 的優點:
以 FastCGI 模式運行 PHP 有幾個主要的好處。首先就是 PHP 出錯的時候不會搞垮 Apache,
只是 PHP 自己的進程當掉(但 FastCGI 會立即重新啟動一個新 PHP 進程來代替當掉的進程)。
其次 FastCGI 模式運行 PHP 比 ISAPI 模式性能更好
最後,就是可以同時運行 PHP5 和 PHP4
FastCGI 模式的一些缺點:
說完了好處,也來說說缺點。用 FastCGI 模式更適合生產環境的伺服器。
但對於開發用機器來說就不太合適。因為當使用 Zend Studio 調試程序時,
由於 FastCGI 會認為 PHP 進程超時,從而在頁面返回 500 錯誤