实验环境:
1.VMware
2.两台linux子机
3.桥接,本机当客户机
实验目的:
1.编译HTTPD和编译PHP、编译MYSQL,熟悉编译过程和原理
2.HTTPD和PHP在同一台服务器上,PHP作为HTTPD的模块来与MYSQL建立连接
实验拓扑:
二进制格式安装mysql
1.安装包组和依赖所用到的包
#yum install pcre-devel #yum groupinstall ‘development tools’ #yum groupinstall ‘desktop platform development’ #yum groupinstall ‘server platform development’
2.编译安装apr和编译安装apr-util
#tar xf apr-1.5.0.tar.bz2 #cd apr-1.5.0 #./configure --prefix=/usr/local/apr //安装路径 #make && make install #tar xf apr-util-1.5.3.tar.bz2 #cd apr-util-1.5.3 #./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr #make && make install
3. 新建用户以安全方式运行进程
#useradd mysql -r -s /sbin/nologin mysql
4.配置mysql,二进制格式的mysql包是解压出来只要配置一下就可以用的
#mkdir /mydata/data //创建数据目录 #chown mysql:mysql /mydata/data #cd /usr/local #tar xf mariadb-5.5.36-linux-x86_64.tar.gz #ln –sv mariadb-5.5.36-linux-x86_64.tar.gz mysql #cd mysql #chown –R root:mysql ./* #mkdir /etc/mysql #cp support-files/my-large.cnf /etc/mysql/my.cnf #vim my.cnf
在下面添加一行数据目录的路径
#cd /usr/local/mysql/ #scripts/mysql_install_db --user=mysql --datadir=/mydata/data //初始化mysql
5.提供服务启动文件
#cd /usr/local/mysql #cp support-files/mysql.server /etc/rc.d/init.d/mysqld #chmod +x /etc/rc.d/init.d/mysqld #chkconfig --add mysqld #service mysqld start
6.加入环境变量,否则服务启用mysql命令
#vim /etc/profile.d/mysql.sh
这样就能用mysql命令进入数据库了
7.导出man手册
#vim /etc/man.config
到这里,mysql就配置完成了,重新启动,mysql就监听在3306端口了
编译安装php
1.安装包组和依赖所用到的包
#yum install pcre-devel #yum groupinstall ‘development tools’ #yum groupinstall ‘desktop platform development’ #yum groupinstall ‘server platform development’
2.编译安装apr和编译安装apr-util
#tar xf apr-1.5.0.tar.bz2 #cd apr-1.5.0 #./configure --prefix=/usr/local/apr #make && make install #tar xf apr-util-1.5.3.tar.bz2 #cd apr-util-1.5.3 #./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr #make && make install
3.安装php
#./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-mbstring --with-freetype-dir --with-jpeg-dir --with -png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/httpd/bin/apxs --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 -enable-maintainer-zts
代码详解:
--prefix=/usr/local/php:设置安装路径 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd: 因为php跟mysql不在同一台服务器上,所以这里要这样做 --with-openssl:编译支持openssl支持 --enable-mbstring:支持多字节字符串,如果想支持中文,这个是必须启用的 --with-freetype-dir:字体处理工具,要实现字体的功能,要把这个装上 --with-jpeg-dir:能够直接生成jpeg图片 --with-png-dir:png图片 --with-zlib:支持压缩库 --with-libxml-dir=/usr:指定xml的库文件路径 --enable-xml:启用xml功能 --enable-sockets:允许php基于sockets方式进行通信 --with-apxs2=/usr/local/apache/bin/apxs:编译共享的 Apache 2.0 模块 --with-mcrypt:支持加密库 --with-config-file-path=/etc:php的配置文件存放位置 --with-config-file-scan-dir=/etc/php.d:所有以.ini结尾的文件存放位置 --with-bz2:支持bz2压缩 --enable-maintainer-zts:表示使用zts格式的php
提示请重新安装bzip2,这里需要安装bzip2和bzip2-devel这两个包,用yum安装吧
没有找到libmcrypt这个包,这里我的光盘上没有这个包,那就下载编译好了。
4.编译安装libmcrypt
#tar xf libmcrypt-2.5.7.tar.gz #cd libmcrypt-2.5.7 #./configure --prefix=/usr/local/libmcrypt #make && make install
这样libmcrypt的次错误就消失了,这又出现了一个错误,是我粗心,打错字母了,应该是“file”,还有bzip2应该改成bz2。
这下终于没有错误了,就可以安装了
#make && make install
5.安装好之后编辑httpd的配置文件
#Vim /etc/httpd/httpd.conf
在里面添加两行,意思是让apache支持php
6.提供php的主配置文件
#cd php-5.4.26 #cp php.ini-production /etc/php.ini
重启httpd服务
7.提供php的测试页面,测试
#vim /usr/local/httpd/htdocs/index.php
8.测试php与mysql的连接
#yum install php-mysql //这个包必须装上,因为php是依赖于php-mysql这个 //包跟mysql通信的 #vim /usr/local/httpd/htdocs/index.php
到此为止,php作为httpd的模块与mysql连接就成功了,httpd的编译在我博客的前一篇有,这里不再编译。
本文出自 “鱼儿” 博客,请务必保留此出处http://kyfish.blog.51cto.com/1570421/1543343
PHP基于HTTPD模块的方式跟MYSQL连接,布布扣,bubuko.com
原文地址:http://kyfish.blog.51cto.com/1570421/1543343