標籤:
註:本文之前發布在自己的QQ空間,複製過來的時候,顏色資訊丟失了,回頭有空再把顏色重新標上!
前言:LAMP(Linux+Apache+MySQL+PHP)環境是目前開源社區最活躍的開發和運行平台,有大量的網站程式是建立在這個平台上的,為了學習我們可能需要搭建這個環境,有一些一體化的安裝包比如WAMP和XAMPP,都可以一鍵安裝好所有的程式,為什麼還需要手動安裝呢?
整合化的安裝包,最大的好處是方便快速,甚至有一個統一的控製程序來管理各個組件,但是如果有問題了,還是需要手動來排查和修改各個部分的問題,而且我自己本人遇到的問題是,有時候為了調試從網上下回來的網站包,這些網站包的開發環境並不是用最新版的AMP來編寫的(比如XAMPP是個很好的AMP包,介面和功能都非常好,但是它的資料庫是MariaDB,MariaDB資料庫管理系統是MySQL的一個分支,採用GPL授權許可 MariaDB的目的是完全相容MySQL,包括API和命令列,使之能輕鬆成為MySQL的代替品,文法上全面相容MySQL[MySQL因為被Sun收購,Sun後來又被Oracle收購了,已經是一個商業軟體了]),如果用來學習,MariaDB完全可以代替MySQL,但是網上下回來的這些來源程式,放在全新的環境下甚至根本沒法運行,會出現各種錯誤,所以全手動安裝AMP環境也是沒辦法的事。廢話不說說了,直接上乾貨。
1.【單獨安裝PHP】
最先安裝的是php,目前有php5和php7兩種版本,都嘗試安裝了一下,php5安裝比較順利,安裝在win7內建的iis7.5下(後文有如何安裝PHP在Apache上的步驟),參考一下文章:http://user.qzone.qq.com/475213823/blog/1452652341
簡單注意步驟如下:
a)電腦上必須安裝iis,安裝時要選擇cgi模組;
b)為了減少配置的麻煩,藉助PHP Manager工具,可以方便的配置;
c)將php.ini-development改名為php.ini d)修改php.ini 尋找data.timezone 修改為date.timezone = “Asia/Shanghai”(這裡必須改,不然會出警告) e)找到Windows Extensions開啟 所需模組,如:php_curl.dll php_mysql.dll php_mysqli.dll php_xmlrpc.dll php_curl.dll 只要去掉前面的 分號 儲存就可以了;
f)回到IIS介面,雙擊PHP Manager後,點擊“Register new PHP Version”,然後選擇好c:\php5.3.5\php-cgi.exe,就OK了。然後靜悄悄的php.ini就會為適合IIS7.5的配置預設給你產生好了
g)最後核驗一下吧,仍在這個介面上,可以點一下“Check phpinfo()”;然後無意外的情況下會彈出令人激動的PHPInfo頁面了!
PS1.安裝php7要注意,下載的如果的編譯版本,如果是vc14版本,要先安裝vcredist2015_x86_14.0.23026.0的運行庫,不然會無法運行,一開始不知道,在iis裡鼓搗好半天也沒發現,雖然知道是vc14,但是以為自己的win7又裝了vs2013,應該各種運行庫都有了,但是事實上確實沒有,需要單獨安裝,在命令列直接運行 php.exe的時候,彈出了vc版本不對的提示,才知道的。
PS2.還有兩點忘了說,windows\temp目錄要設定user的讀寫權限,php的安裝目錄也要設定user的讀寫權限,不然iis會報錯!
,,,,,,,,,,,,,,,,,,,,,,,,,,,,
上面是如何在IIS上安裝PHP,在Apache中安裝PHP並且配置PMA連上MySQL也有些要注意的事項
,
這裡的部分內容跟後面單獨設定MySQL和Apache有小部分重疊,但是這裡重點講述Apache下安裝步驟:
【PHP】
修改設定檔如下:
extension_dir = "C:\PHP5\ext\" error_log = "C:\Windows\Temp\php-5.6.11_errors.log" upload_tmp_dir = "C:\Windows\Temp\"
有些時候要寫成朝左的斜杠
extension=php_gd2.dll 上傳圖片,登入驗證碼很多時候需要這個擴充! extension_dir = "c:/php5/ext" extension=php_curl.dll
extension=php_mysql.dll extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_xmlrpc.dll
date.timezone = "Asia/Shanghai"
有些版本PHP內建的dll還不全,沒有php_mysql.dll,沒有php5apache2_2.dll還得重新下PHP,不要單獨下一個dll檔案,有時候根本不知道下回來的dll是什麼版本,所以選擇PHP版本也非常重要,我自己下載的php-5.3.5-Win32-VC6-x86.zip,這個版本內容比較全;php.ini檔案還要拷貝到windows目錄下,不然在Apache設定PMA訪問MySQL時會有錯誤!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
php5.5使用的編譯器是vc11,
php5.4和php5.3的是vc9,
php5.2是vc6。同時還要注意是x86版本,還是x64版本。
目前只有php5.5提供x64版本,其他都只有x86版本。
1、Apache2.0對應的PHP模組為 php5apache2.dll
2、Apache2.2對應的PHP模組為 php5apache2_2.dll
3、Apache2.4對應的PHP模組為 php5apache2_4.dll
apache.org下載的Apache都是vc6版本,否則就根據不同檔案說明安裝不同的運行庫。
vc11運行庫x86/x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=30679
vc10運行庫x86版本:http://www.microsoft.com/en-us/download/details.aspx?id=5555
vc10運行庫x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=14632
vc9運行庫x86版本:http://www.microsoft.com/en-us/download/details.aspx?id=5582
vc9運行庫x64版本:http://www.microsoft.com/en-us/download/details.aspx?id=15336
如果不清楚你的情況,可以安裝全部運行庫,再也不用為這個問題擔憂了。
1、php5.2支援Apache2.0和Apache2.2;
2、php5.3、php5.4同時支援Apache2.2和Apache2.4;
3、php5.5隻支援Apache2.4
除非你自己手動編譯php5_module模組,否則只能有以上3種選擇。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
【MySQL】
這一步跟普通安裝MySQL沒什麼兩樣,可以用exe安裝,也可以用zip包安裝,參見下面的安裝方法;
但是有一個陷阱:在有些版本的apache+pma環境下,要把libmySQL.dll 複製到Windows/System32目錄裡,不然又是有奇怪的錯誤!
libmySQL.dll在不同版本的MySQL裡位置還不一樣:
mysql 5.6.24 D:\mysql-5.6.24-win32\lib\libmysql.dll
mysql 5.0.96 mysql安裝路徑\bin\libmySQL.dll
安裝好的MySQL可以暫時不設定登入密碼,在安裝好Apache+PMA之後,在PMA上修改密碼!
【Apache】
在apache上安裝對php的支援,修改conf/httpd.conf如下
LoadModule php5_module "c:/php5/php7apache2_4.dll" PHPIniDir "c:/php5" AddType application/x-httpd-php .php
在apache上安裝對mysql的支援,不需要做什麼,主要是設定pma的【虛擬機器主機】或者【虛擬目錄】路徑,以便瀏覽器能夠訪問該目錄:
修改conf/httpd.conf如下
< VirtualHost 127.0.0.2:80> DocumentRoot D:/PHPMyAdmi ServerName 127.0.0.2:80 < / VirtualHost> Alias /phpmyadmin "D:/PMA"
Alias /pma "D:/PHPMyAdmin"
<Directory "D:/PHPMyAdmin"> Order allow,deny Allow from all DirectoryIndex index.php </Directory>
重啟apache以後,你的虛擬機器主機就配置好了,瀏覽器輸入127.0.0.2/pma,來訪問PMA了,如果不使用虛擬機器主機,去掉VirtualHost部分即可,Alias是為目錄設定了別名,這樣就可以通過127.0.0.2/pma來訪問,不需要輸全127.0.0.2/phpmyadmin了。
【PHPMyAdmin】
版本的選擇,3.5.6和4.6.3(到本文截止最新版),有些網站來源程式內建了pma,所以有些時候會遇到舊版本的pma,新版本也許還有些錯誤,老版本未必是個壞選擇;
把PMA目錄下的 config.sample.inc.php 改成 config.inc.php
$cfg[‘Servers‘][$i][‘AllowNoPassword‘] = True;
剛裝好的MySQL先不設定密碼,這裡開放允許空密碼登入,然後進入PMA後,修改 [email protected],[email protected],[email protected]::1的密碼,貌似這幾個都要修改,127.0.0.1是為了網站登入,localhost是命令列操作sql,::1是為了IPv6設定的。
--------------------------------------------------------------------------------------------------
2.【單獨安裝MySQL】
先在網上下載的exe安裝包,mysql-installer-community-5.7.13.0.msi,發現安裝的時候無法選擇安裝路徑,預設只能裝在c盤,我的c盤空間不太多了,看了下網上的安裝教程,打算全手動安裝!
從網上下載了zip包,mysql-5.6.24-win32.1432006610.zip ,解壓之後,找到軟體根目錄下的my-default.ini,修改如下幾行:
basedir = D:\mysql-5.6.24-win32 datadir = D:\mysql-5.6.24-win32\data port = 3306 server_id = mysql character-set-server=utf8 default-storage-engine=INNODB max_connections=200
然後在軟體的bin檔案夾的命令列裡 執行:mysqld install 安裝服務
net start mysql 啟動服務
>mysql -uroot -p 斷行符號 就可以進入mysql的命令列介面了;
>設定密碼的方法:mysqladmin -u root -p password 密碼
安裝完MySQL可以再裝一個MySQL Query Browser 的圖形介面工具,比起SQLServer的企業管理器來說,這個工具實在太簡陋了,所以多數人的選擇是裝一個PHPMyAdmin。
PS. 在windows的環境變數PATH裡加入mysql的完整路徑,就可以方便的直接輸入mysql命令
卸載MySQL服務的方法:>sc delete mysql
--------------------------------------------------------------------------------------------------
3. 【在IIS環境下安裝PHPMyAdmin】
PMA是一套php語言編寫的基於web瀏覽器的MySQL網頁介面程式,方便配置和管理MySQL的各項功能,以下是把PMA安裝在IIS的虛擬目錄上的步驟(後文Apache部分有如何安裝PMA在Apache上的步驟):
同樣沒有採用exe的安裝檔案,網上下回來的只有zip壓縮包,解壓之後放在任意盤的根目錄下,比如D:\phpMyAdmin
目前最新的版本是4.6.2,我運氣比較差,下了個4.6.1版,這個版本對中文支援的不好,雖然能開啟介面,但是有好多地方都出現錯誤,最新的4.6.2版已經修正了錯誤;
在IIS環境下安裝PMA步驟:
a) d:\phpmyadmin,設定user的讀寫權限;
b) IIS下建立一個網站phpmyadmin,使用8080連接埠,80連接埠已經被iis佔用了,實體路徑指向d:\phpmyadmin
c) 如果IIS上的PHP已經安裝好了,那麼直接開啟127.0.0.1:8080,就能開啟網頁程式了;
--------------------------------------------------------------------------------------------------
4. 【單獨安裝Apache】
Apache是一個開源的web伺服器,是一個廣泛運行在各個平台的web伺服器,我們這裡是安裝Windows版本的Apache,官網下好zip安裝包,官網現在也不再提供exe的安裝程式了,找到ApacheHaus也就是Apache的HTTP伺服器,httpd-2.4.20-x86-vc14-r2.zip(當前最新版本是2.4),如果有帶vc11,vc14字樣的,同樣要先安裝對應版本的vc運行庫。
安裝步驟:
a)將apache2.4解壓到D:\Apache24,如果直接解壓在根目錄不需要修改路徑,否則需要修改路徑
b) D:\Apache24\conf\httpd.conf,就是設定檔,開啟之後,修改如下三行的配置資訊,因為80連接埠已經被IIS佔用了,所以我改為6666;
---------------【原始的配置資訊】-----------------
Define SRVROOT "Apache24"
Listen 127.0.0.1:80
ServerName localhost:80
---------------【修改為自己的配置】------------------
Define SRVROOT "/MyHTTP/Apache24"
Listen 127.0.0.1:6666 ServerName localhost:6666
c) 在bin檔案夾的命令列中,>httpd -k install,就能安裝apache伺服器了,要卸載,命令改成uninstall即可;
d) 如果一切順利,那麼在瀏覽器中開啟 http://127.0.0.1:6666/就能看到Apache安裝成功的首頁面了;
PS.當然一切沒那麼順利,我就遇到了問題,輸入完 httpd -k install,報了443連接埠的錯誤,應該這個連接埠是被佔用了;
解決方案: 通過>netstat -ano,可以看到佔用443連接埠的進程的PID號,然後通過【工作管理員】的[服務],查到相關的伺服器名,通過>services.msc找到相關進程,關閉或者停用或者改成手動運行即可;在我的電腦上佔用443的是vmware workstation服務,手動讓它啟動即可。
PS. 修改Apache的443連接埠:
1. 修改conf/extra/httpd-ssl.conf 檔案裡的443改為442,如果是XAMPP,改這一個就夠了;
2. 修改conf/extra/httpd-ahssl.conf 檔案裡的443改為442,如果是單獨下載的Apache,還要改一下這裡!
3. httpd -k uninstall
4. httpd -k install
5. Apache Monitor -> Start -> OK
或者修改VMWare的連接埠
給Apache加上PHP的模組:D:\MyHTTP\Apache24\conf\httpd.conf
################# PHP Support ######################LoadModule php7_module "c:/php7/php7apache2_4.dll"PHPIniDir "c:/php7"AddType application/x-httpd-php .php################# PHP Support ######################
給Apache加上PHPMyAdmin的虛擬目錄: D:\MyHTTP\Apache24\conf\httpd.conf
################# PMA Support ######################
Alias /phpmyadmin "C:/phpMyAdmin"<Directory "C:/phpMyAdmin">Order allow,denyAllow from allDirectoryIndex index.php</Directory>################# PMA Support ######################
追加:要注意Apache的版本和PHP的版本問題,我先開始裝的Apache2.4是x64版本,PHP是win32的版本,所以在配置完httpd.conf之後,啟動Apache會報函數錯誤,換成win32版本的Apache問題解決,或者找到PHP win64的相關模組!
Apache,PHP,MySQL,PMA手動設定的注意事項