# 安裝php程序環境
>[info] **注意:**安裝php之前,需要保證apache和mysql的安裝
[TOC]
## 檢查apache及MySQL的安裝情況
**檢查安裝路徑**
`ls -ld /usr/local/mysql`
`ls -ld /usr/local/apache`
**檢查端口占用**
`netstat -tunpl|grep '3306|80'`
**測試訪問情況**
`/usr/loca/apache/bin/apachectl -v`
`wget 127.0.0.1`
`curl -I localhost`
## 檢查安裝php所需lib庫文件
php程序在開發時會調用一些諸如GD等函數庫,因此需要確認下面的lib庫是否已經安裝。
`rpm -qa libxml libjpeg freetype gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel`
也可以執行`rpm -qa zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel`安裝所需依賴庫文件頭信息。
## 安裝libiconv庫
~~~
mkdir -p /application/tools
cd /usr/local/src && wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar xf libiconv-1.14.tar.gz && cd libiconv-1.14
./configure --prefix=/application/tools/libiconv-1.14
make && make install
~~~
**創建軟連接(編譯php時會使用到該路徑)**
`ln -s /application/tools/libiconv-1.14 /usr/local/libiconv`
## 開始安裝php
### 獲取穩定版本php
~~~
cd /usr/local/src && wget -O php-5.6.16.tar.gz http://cn2.php.net/get/php-5.6.16.tar.gz/from/this/mirror
tar xf php-5.6.16.tar.gz && cd php-5.6.16
./configure \
--prefix=/application/tools/php5.6.16 \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-xmlrpc \
--with-openssl \
--with-zlib \
--with-freetype-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-iconv=/usr/local/libiconv \
--enable-short-tags \
--enable-sockets \
--enable-soap \
--enable-mbstring \
--enable-static \
--enable-gd-native-ttf \
--with-curl \
--with-xsl \
--enable-ftp \
--with-libxml-dir
make && make install
~~~
>[info] 特別說明,加入以下三個參數為了使用`nagios`的PHP環境。
他們分別是 `--enable-sigchild --enable-pcntl --enable-bcmath`
## 配置php
~~~
ln -s /application/tools/php5.6.16 /usr/local/php
ls -l /usr/local/php
~~~
### 拷貝適合的php.ini配置文件
`cd /usr/loca/src/php-5.6.16/php.ini-production /application/tools/php5.6.16/lib/php.ini`
## apache支持php
### 修改apahce配置文件
~~~
cd /usr/local/apache/conf && cp httpd.conf httpd.conf.$(date +%Y%m%d)
vim http.conf
# 加入如下代碼
AddType application/x-httpd-php .php .phtml
~~~
### 檢查并重載apache配置
~~~
apachectl -t
apachectl graceful
netstat -tunpl|grep 80
~~~
- Linux的安裝
- Linux的軟件安裝管理
- Linux零碎的命令
- 了解ssh
- 系統調優及安全設置
- Linux系統中的硬鏈接和軟連接
- Linux文件和目錄的屬性及權限
- 命令總結
- 文件目錄管理命令
- cat
- cd
- cp
- ls
- mkdir
- mv
- rm
- touch
- vi
- 硬件檢測內核shell命令
- echo
- alias
- dd
- diff
- date
- grep(重要)
- head
- rpm
- sed(重要)
- tree
- unalias
- yum
- seq
- su
- less
- more
- tail
- awk(重要)
- pwd
- history
- whoami
- find(重要)
- which
- vimdiff
- sudo
- wget
- ln
- chmod
- chown
- vim常用技巧
- scp
- 工作場景應用總結
- 自動刪除n天前日志
- 刪除一個目錄下的所有文件但保留一個文件
- Linux軟件安裝
- php安裝(apache版本)
- vsftpd安裝
- git安裝
- python安裝
- LNMP安裝
- LAMP安裝I
- LAMP安裝II
- svn安裝
- svn在Linux下的命令操作
- svn鉤子簡介
- svn代碼上傳流程
- Crond介紹
- sersync應用指南
- 其他
- 小結一
- 系統調優重新整理tmp
- linux禁止root用戶直接登錄sshd并修改默認端口