# 安装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并修改默认端口