(安装顺序在最后)
把 php 放到最后安装是因为在编译 php 时,需要指定 mysql 和 apache 的路径,如果不先安装好 mysql 和 apache 就没有办法安装 php 。而 apache 和 mysql 的安装顺序就无所谓了。
PHP 官网下载地址:http://www.php.net/downloads.php 。搜狐镜像:http://mirrors.sohu.com/php/php-5.6.10.tar.gz 。
下载 php:
解压源码包:
1
[iyunv@localhost src]# tar zxf php-5.6.10.tar.gz
配置编译参数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[iyunv@localhost src]# cd php-5.6.10
[iyunv@localhost php-5.6.10]# ./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/usr/local/php/etc \
--with-mysql=/usr/local/mysql \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openssl \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--enable-exif \
--disable-ipv6
遇到错误:
1
2
error: xml2-config not found. Please check your libxml2 installation.
# yum install -y libxml2-devel
1
2
error: Cannot find OpenSSL's <evp.h>
# yum install -y openssl openssl-devel
1
2
error: Please reinstall the BZip2 distribution
# yum install -y bzip2 bzip2-devel
1
2
error: png.h not found.
# yum install -y libpng libpng-devel
1
2
error: freetype.h not found.
# yum install -y freetype freetype-devel
1
2
error: freetype-config not found.
# yum install -y freetype-devel
1
2
error: mcrypt.h not found. Please reinstall libmcrypt.
# yum install -y libmcrypt-devel
编译
#make
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[iyunv@localhost php-5.6.10]# make
crypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -o sapi/cgi/php-cgi
Generating phar.php
Generating phar.phar
PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension be enabled.
pharcommand.inc
directorytreeiterator.inc
clicommand.inc
directorygraphiterator.inc
invertedregexiterator.inc
phar.inc
Build complete.
Don't forget to run 'make test'.
[iyunv@localhost php-5.6.10]# echo $?
0
安装
# make install
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[iyunv@localhost php-5.6.10]# make install
Installing PEAR environment: /usr/local/php/lib/php/
[PEAR] Archive_Tar - installed: 1.3.12
[PEAR] Console_Getopt - installed: 1.3.1
[PEAR] Structures_Graph- installed: 1.0.4
[PEAR] XML_Util - installed: 1.2.3
[PEAR] PEAR - installed: 1.9.5
Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
/usr/local/src/php-5.6.10/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f phar.phar /usr/local/php/bin/phar
Installing PDO headers: /usr/local/php/include/php/ext/pdo/
[iyunv@localhost php-5.6.10]# echo $?
0
拷贝 php 配置文件
1
[iyunv@localhost php-5.6.10]# cp php.ini-production /usr/local/php/etc/php.ini
修改 apache 配置文件
1
[iyunv@localhost php-5.6.10]# vim /usr/local/apache2/conf/httpd.conf
找到:
1
2
3
4
5
6
7
8
9
10
11
12
13
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
改为:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
说明:如果不修改这个地方,我们访问网站会禁止访问,显示403。
然后找到:
1
AddType application/x-gzip .gz .tgz
在该行下面添加:
1
2
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
说明:要想支持 php 脚本解析,必须要加上对应的类型。
再找到:
1
2
3
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
改为:
1
2
3
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule>
说明:增加对 php 的索引,如果一个站点默认页为 index.php,那么就得加上这个 index.php 的支持。
再找到:
修改为:
1
ServerName localhost:80
如果不去掉#,则启动 apache 时,会有警告信息“httpd:Could not reliably determine the server's fully qualified domain name,using localhost.localdomain for ServerName”,看起来像是错误,其实没有影响。
查看配置文件是否有问题:
1
2
[iyunv@localhost php-5.6.10]# /usr/local/apache2/bin/apachectl -t
Syntax OK
启动服务:
1
[iyunv@localhost php-5.6.10]# /usr/local/apache2/bin/apachectl start
检查是否正常启动:
1
2
3
4
5
6
7
8
[iyunv@localhost php-5.6.10]# ps aux|grep httpd
root 7998 0.0 0.7 196260 7284 ? Ss 23:45 0:00 /usr/local/apache2/bin/httpd -k start
daemon 7999 0.0 0.4 196396 4920 ? S 23:45 0:00 /usr/local/apache2/bin/httpd -k start
daemon 8000 0.0 0.4 196396 4920 ? S 23:45 0:00 /usr/local/apache2/bin/httpd -k start
daemon 8001 0.0 0.4 196396 4920 ? S 23:45 0:00 /usr/local/apache2/bin/httpd -k start
daemon 8002 0.0 0.4 196396 4920 ? S 23:45 0:00 /usr/local/apache2/bin/httpd -k start
daemon 8003 0.0 0.4 196396 4920 ? S 23:45 0:00 /usr/local/apache2/bin/httpd -k start
root 8005 0.0 0.0 103316 900 pts/1 S+ 23:45 0:00 grep httpd
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com