您好,登錄后才能下訂單哦!
這篇“CentOS5.5下如何搭建PHP環境”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“CentOS5.5下如何搭建PHP環境”文章吧。
1、準備工作
一、請先確認你所安裝的 linux 系統中是否已經安裝了apache、mysql、php,如果安裝請先卸載。
查看是否安裝(apache為例)
[root@gamejzy linux]# rpm -qa|grep httpd
注:rpm -qa 是查看本機中已經安裝的所有軟件。 grep httpd 是過濾出與 httpd(apache) 有關的軟件。注:grep php 是查看 php;grep mysql 是查看 mysql
如果執行完命令后出現空,那么說明機器中沒有安裝 apache 軟件,如果出現諸如下情況說明已經安裝。
如果如上圖所示的那樣,那么就需要把這三個軟件都卸載了。
卸載命令如下:
[root@gamejzy linux]# rpm -e httpd-2.2.3-43.el5.centos --nodeps
注:--nodeps 是強制卸載
二、請保證你的 linux 系統中安裝了 gcc、g++ 編譯器
檢查是否安裝很簡單,在命令行中敲入“gc”或“g+”,按 tab 鍵,看下面是否有命令顯示。
如果沒有也沒關系,安裝 gcc、g++ 的方法十分簡單
安裝gcc:
yum -y install gcc
安裝g++:
yum install gcc-c++
三、將所有的軟件(大部分都是 tar 包)包拷貝到 /tmp/lamp 底下,并解壓
解壓 tar.gz 命令(php軟件為例):tar zxvf php-5.2.6.tar.gz
當執行完此命令后,會在當前目錄下創建一個 php-5.2.6 的文件夾,解壓的所有文件會放置在 php-5.2.6 文件夾中
請按照同樣的方法將所有的包都解壓,并且刪除所有的 *.tar.gz 文件
[root@gamejzy lamp]# rm -rf *.gz
以上命令刪除所有的 .gz 文件
四、編譯安裝軟件包介紹
在 linux 系統安裝每個源代碼軟件包的過程如下:
△ 配置(configure)
△ 編譯(make)
△ 安裝(make install)
2、搭建 lamp 環境(請按照下面給出的順序進行安裝)
這里所有的軟件都安裝在 /usr/local 下
一、安裝libxml
安裝順序:1、進入 libxml 目錄;2、配置參數(包括安裝路徑;依賴軟件;安裝功能等);3、編譯;4、安裝。注:所有軟件包安裝類似
[root@gamejzy lamp]# cd libxml2-2.6.30/ [root@gamejzy libxml2-2.6.30]# ./configure --prefix=/usr/local/libxml2
./configure 為軟件包配置參數命令,--prefix 表示指定的安裝目錄,大部分目錄若不在會自動創建,個別不會,需要我們手動創建
[root@gamejzy libxml2-2.6.30]# make && make install
以上命令是將編譯和安裝在一起執行,由于軟件小,安裝速度比較快,若大的軟件,可能會花比較長的時間。
二、安裝libmcrypt
[root@gamejzy lamp]# cd libmcrypt-2.5.8/ [root@gamejzy libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt [root@gamejzy libmcrypt-2.5.8]# make && make install
三、安裝zlib
[root@gamejzy lamp]# cd zlib-1.2.3/ [root@gamejzy zlib-1.2.3]# ./configure [root@gamejzy zlib-1.2.3]# make && make install
./configure 后面不要跟 --prefix 參數,讓其安裝在默認目錄中,因為安裝 libpng 的時候會用到 zlib。
四、安裝libpng
[root@gamejzy lamp]# cd libpng-1.2.31/ [root@gamejzy libpng-1.2.31]# ./configure --prefix=/usr/local/libpng [root@gamejzy libpng-1.2.31]# make && make install
五、安裝jpeg6
這個軟件配置的時候不會自動創建目錄,需要我們手動創建
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6 [root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/bin [root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/lib [root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/include [root@gamejzy libpng-1.2.31]# mkdir -p /usr/local/jpeg6/man/man1
生成目錄完畢!
[root@gamejzy lamp]# cd jpeg-6b/ [root@gamejzy jpeg-6b]# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static [root@gamejzy jpeg-6b]# make && make install
./configure 中參數說明:
--enable-shared 建立共享庫使用的gnu的libtool
--enable-static 建立靜態庫使用的gnu的libtool
六、安裝freetype
[root@gamejzy lamp]# cd freetype-2.3.5/ [root@gamejzy freetype-2.3.5]# ./configure --prefix=/usr/local/freetype [root@gamejzy freetype-2.3.5]# make && make install
七、安裝autoconf
[root@gamejzy lamp]# cd autoconf-2.61/ [root@gamejzy autoconf-2.61]# ./configure [root@gamejzy autoconf-2.61]# make && make install
這個軟件直接安裝在默認目錄下。
八、安裝gd
[root@gamejzy lamp]# cd gd-2.0.35/ [root@gamejzy gd-2.0.35]# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/ [root@gamejzy gd-2.0.35]# make && make install
./configure 中參數說明:
--with-jpeg=/usr/local/jpeg6/ 指定到哪去找jpeg庫文件的位置
--with-png=/usr/local/libpng/ 指定到哪去找png庫文件的位置
--with-freetype=/usr/local/freetype/ 指定到哪去找freetype 2.x字體庫的位置
注意 安裝此軟件包可能會出現以下錯誤,如下圖所示:
如果出現如此錯誤,解決方法:
[root@gamejzy gd-2.0.35]# vi gd_png.c
找到關鍵詞"png.h" 命令:/png.h 回車
替換為:/usr/local/libpng/include/png.h
效果如下圖所示:
保存退出,繼續執行"make && make install" 執行即可安裝成功。
九、安裝apache(關鍵)
[root@gamejzy lamp]# cd httpd-2.2.9/ [root@gamejzy httpd-2.2.9]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support [root@gamejzy httpd-2.2.9]# make && make install
./configure 中的參數說明:
--sysconfdir=/etc/httpd 指定apache服務器的配置文件(httpd.conf等文件)存放位置
--with-included-apr 使用捆綁apr/apr-util的副本
--enable-so 以動態共享對象(dso)編譯
--enable-deflate=shared 縮小傳輸編碼的支持
--enable-expires=shared 期滿頭控制
--enable-rewrite=shared 基于規則的url操控
--enable-static-support 建立一個靜態鏈接版本的支持
測試 apache 服務器
1、檢查 /usr/local/ 下是否出現 apache2 目錄;
2、檢查 /etc/ 目錄下面是否出現 httpd 目錄,即里面是否有 httpd.conf 文件、extra目錄等內容
3、開啟 apache 服務器
[root@gamejzy httpd]# /usr/local/apache2/bin/apachectl start
stop(關閉)、restart(重啟)
4、查看 apache 服務器是否啟動,即查看 80 端口是否啟動
[root@gamejzy httpd]# netstat -tnl|grep 80
執行完命令,出現如下所示,表示已經啟動
tcp 0 0 :::80 :::* listen
5、在瀏覽器中訪問
如果在本機的話,請在瀏覽器地址欄中輸入: 或
如果是遠程連接的話,比如:ssh連接,那么請在瀏覽器地址欄中輸入 linux 的 ip 地址。比如:
若網頁中出現大字“
it works!
”說明 apache 安裝成功。
測試完畢!
添加 apache 每次開機自動啟動
[root@gamejzy /]# echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local
十、安裝mysql(重要)
安裝 mysql 之前先建立一個專門管理 mysql 的組和用戶名
建立一個組名叫“mysql”
[root@gamejzy /]# groupadd mysql
建立一個用戶名叫“mysql”,讓他屬于“mysql”組
[root@gamejzy /]# useradd -g mysql mysql
[root@gamejzy lamp]# cd mysql-5.0.41/ [root@gamejzy mysql-5.0.41]# ./configure --prefix=/usr/local/mysql --with-extra-charsets=all [root@gamejzy mysql-5.0.41]# make && make install
./configure 參數說明:
--with-extra-charsets=all 安裝mysql 所有的字符集
注意 在 ./configure 的時候如果出現如下錯誤
原因:缺少ncurses安裝包。
解決方法:下載安裝相應軟件包
yum list|grep ncurses yum -y install ncurses-devel
ncurses安裝完成之后,再進行 ./configure 配置!
mysql安裝完成之后,設置一些內容,這些內容非常繁瑣,但是又非常關鍵的,希望大家耐心學習。
1、設置配置文件 my.cnf,放在 /etc/ 目錄下
[root@gamejzy mysql-5.0.41]# cp support-files/my-medium.cnf /etc/my.cnf
2、初始化數據庫文件,安裝完 mysql 之后,并不會出現 mysql 的數據文件及數據存放位置
首先切換到 mysql 的安裝目錄下
[root@gamejzy mysql-5.0.41]# cd /usr/local/mysql/
使用 bin 目錄下的 mysql_install_db 進行初始化數據庫文件,并使用上面建的 mysql 用戶
[root@gamejzy mysql]# bin/mysql_install_db --user=mysql
運行完之后,會發現 mysql 安裝目錄中會多一個 var 目錄,里面放置的就是數據庫文件,包括我們已經建的數據庫都會放置在這個目錄里面。
3、設置 mysql 安裝目錄權限
改變目錄下的所有文件和目錄的擁有者為 root
[root@gamejzy mysql]# chown -r root .
改變 var 目錄的擁有者為 mysql 用戶
[root@gamejzy mysql]# chown -r mysql ./var/
改變所有目錄和文件的用戶組為 mysql 組
[root@gamejzy mysql]# chgrp -r mysql .
4、啟動 mysql
[root@gamejzy mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
& 表示在后臺啟動
這時,使用 netstat -tnl,如果看見 3306 端口,那么說明啟動成功
tcp 0 0 0.0.0.0:3306 0.0.0.0:* listen
5、設置權限,如果我們現在直接使用 bin 目錄下的 mysql 命令,那么就能登錄
[root@gamejzy mysql]# bin/mysql
這樣就太危險了!因此需要設置權限。
先登錄進 mysql 中,使用 sql 命令刪除主機不是“localhost” 的用戶名(mysql 中的用戶都mysql庫中的user表),只留允許本機登錄的賬號。
mysql> delete from mysql.user where host != 'localhost';
刷新授權表
mysql> flush privileges;
設置允許本機進入 mysql 的 root 用戶的密碼
mysql> set password for 'root'@'localhost'=password('123456');
注:設置的密碼必須記住,不然就進不去 mysql 數據庫了。
到這步的時候,我們的 root 用戶,就已經設置了密碼(密碼為“123456”),我們可以測試一下,鍵入“exit”退出mysql
這時登錄 mysql 數據庫的命令不能是 bin/mysql 那么簡單,應該如下:
[root@gamejzy mysql]# bin/mysql -h 127.0.0.1 -u root -p123456
-h 指定主機名
-u 用戶名
-p 密碼
6、關閉 mysql 數據庫服務器
[root@gamejzy mysql]# bin/mysqladmin -u root -p shutdown
這里的是 root 用戶是 mysql 中的用戶,執行后會提示你輸入密碼,enter password:
輸入密碼,回車即可關閉數據庫。
啟動命令,請看本節4
7、加入到開機默認啟動
[root@gamejzy mysql]# echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >> /etc/rc.d/rc.local
十一、安裝php(重要)
這里我們安裝 php 的高版本 php-5.3.19,安裝參數比較多,請一定注意。
[root@gamejzy lamp]# cd php-5.3.19/ [root@gamejzy php-5.3.19]# ./configure \ > --prefix=/usr/local/php \ > --with-config-file-path=/usr/local/php/etc \ > --with-apxs2=/usr/local/apache2/bin/apxs \ > --with-mysql=/usr/local/mysql/ \ > --with-libxml-dir=/usr/local/libxml2/ \ > --with-png-dir=/usr/local/libpng/ \ > --with-jpeg-dir=/usr/local/jpeg6/ \ > --with-freetype-dir=/usr/local/freetype/ \ > --with-gd=/usr/local/gd2/ \ > --with-mcrypt=/usr/local/libmcrypt/ \ > --with-mysqli=/usr/local/mysql/bin/mysql_config \ > --enable-soap \ > --enable-mbstring=all \ > --enable-sockets
./configure 參數說明:
--with-config-file-path=/usr/local/php/etc 指定php5配置文件存入的路徑
--with-apxs2=/usr/local/apache2/bin/apxs 告訴php查找apache 2的地方
--with-mysql=/usr/local/mysql/ 指定mysql的安裝目錄
--with-libxml-dir=/usr/local/libxml2/ 告訴php放置libxml2庫的地方
--with-png-dir=/usr/local/libpng/ 告訴php放置libpng庫的地方
--with-jpeg-dir=/usr/local/jpeg6/ 告訴php放置jpeg庫的地方
--with-freetype-dir=/usr/local/freetype/ 告訴php放置freetype庫的地方
--with-gd=/usr/local/gd2/ 告訴php放置gd庫的地方
--with-mcrypt=/usr/local/libmcrypt/ 告訴php放置libmcrypt庫的地方
--with-mysqli=/usr/local/mysql/bin/mysql_config 變量激活新增加的mysqli功能
--enable-soap 變量激活soap和web services支持
--enable-mbstring=all 使多字節字符串支持
--enable-sockets 變量激活socket通訊特性
編譯可能出現的問題:
出現如下報錯:
解決方法:
cd /usr/local/mysql/lib/mysql/ ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so
編譯ok后,出現“thank you for using php.”,說明配置成功。
[root@gamejzy php-5.3.19]# make && make install
編譯和安裝,時間會比較長,耐心等待吧!
編譯完成后,需要以下配置
1、設置 php.ini 配置文件
[root@gamejzy php-5.3.19]# cp php.ini-development /usr/local/php/etc/php.ini
注:/usr/local/php/etc 是在配置的時候指定的位置
2、和 apache 整合
先打開 apache 的配置文件 httpd.conf
[root@gamejzy php-5.3.19]# vi /etc/httpd/httpd.conf
會發現文件中有這么條內容
loadmodule php5_module modules/libphp5.so
這就說明 php 已經加載到 apache 服務器中了,我們所要做的是告訴 apache 服務器,哪些后綴名使用 php 解析
在 vi 編輯器中搜索“addtype application/x-compress .z”
在后面添加一條:addtype application/x-httpd-php .php
修改后的效果如下圖
保存并退出,重啟 apache
[root@gamejzy php-5.3.19]# /usr/local/apache2/bin/apachectl stop [root@gamejzy php-5.3.19]# /usr/local/apache2/bin/apachectl start
3、測試 apache 服務器是否可以解析 php
往 /usr/local/apache2/htdocs 目錄下添加一個phpinfo.php 文件,鍵入以下代碼:
<?php header("content-type:text/html;charset=utf-8"); phpinfo(); ?>
打開瀏覽器,訪問該文件,看到如下圖所示,說明 php 安裝成功,并且和 apache 服務器整合成功。
以上就是關于“CentOS5.5下如何搭建PHP環境”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。