文档章节

centos 配置php开发环境

x
 xshanj2
发布于 2015/04/17 17:18
字数 1301
阅读 186
收藏 1

所需软件及版本信息

centos-6.4

apache-2.2.29

php-5.4.15

mysql-5.5.28



安装libxml-2.9.2

使用centos-6.4的yum源安装的libxml是2.7.6,如果需要使用PHPExcel生成Excel2007的文件,就必须到官网下载源码安装。地址:http://www.xmlsoft.org/

#解压,并进入目录
tar -zxvf libxml2-NN.tar.gz
cd libxmlNN

#默认安装
./configure
make; make install

也许在make的时候会报错,可以直接忽略,继续make install。安装完成,使用以下命令如果查看到版本信息表示安装成功

xml2-config --version



卸载centos自带的httpd服务器

使用如下命令可以查看centos自带的httpd版本,也看用于测试是否成功卸载

#查看httpd版本信息
httpd -v

#如果httpd存在,则卸载
yum -y remove httpd

#再次检测是否成功卸载
httpd -v



安装配置服务器所需的软件

#gcc, c++编译器
yum install gcc
yum install gcc-c++

#如果安装apache时需要开启deflate模块,则需要安装zlib
yum install zlib-devel

#安装编译php所需软件,具体可参考php源码包里的INSTALL文件
yum install autoconf
yum install automake
yum install libtool
yum install flex
yum install bison
yum install libxml2
yum install libxml2-devel

#安装编译mysql所需软件
yum install cmake
yum install gmake
yum install ncurses-devel



安装apache

可以将apache, php, mysql的源码保存到linux上,后期增加新模块需要编译时使用得到。

#step1 没有回车
./configure --prefix=/usr/local/apache2 --enable-deflate=shared  --enable-rewrite=shared --enable-so --enable-headers

#step2, step3 make make install

测试apache是否安装成功

#查看版本信息
/usr/local/apache2/bin/httpd -v

#启动apache
/usr/local/apache2/bin/apachectl start

#如果一下命令能获得内容,表示apache成功启动
curl http://localhost/

更多操作

#创建快捷命令
cp /usr/local/apache2/bin/apachectl /usr/sbin/
cp /usr/local/apache2/bin/apachectl /usr/sbin/httpd

#复制完成以后可以通过service httpd restart来重启apache
cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd

#设置httpd服务在centos启动时一同启动,在执行命令前需要修改httpd文件,具体参考更多说明[4]
chkconfig --add httpd
chkconfig httpd on

更多说明

1. 关于configure的选项可通过执行命令 ./configure --help 了解更多

2. 关于configure的选项可通过执行命令可以通过官方网站来了解更多
http://httpd.apache.org/docs/2.2/programs/configure.html

3. 如果需要重新编译,那么在源码目录首先执行make distclean再进行编译,记得编译时须指定apache的安装目录

4. 重新编译apache时,需要指定apache的安装目录,因为我使用的不是默认目录。接着需要enable你需要启用的模块,以前已经加载的模块不需要重新enable一次,因为apache的每个模块是独立的记载的。这和php不同。

5. 关于如何修改httpd文件 http://xiedexu.cn/service-httpd-support-chkconfig.htm

6. 默认apache的配置文件在/usr/local/apache2/conf/

7. 如果外网无法访问,应该是80端口未开放


安装php

#step1 没有回车
./configure --prefix=/usr/local/php 
--with-apxs2=/usr/local/apache/bin/apxs

#step2, step3
make
make install

更多操作

#进入php安装源码包,创建php.ini文件到默认配置文件位置
#如果需要修改php配置文件存放路径,可以参考configure里 --with-config-file-path 选项
cp /PHP-SOURCE-CODE/php.ini-development /usr/local/php/lib/php.ini

#创建快捷方式,这样在任意路径都可以通过php -v查看php的版本信息
ln -s /usr/local/php/bin/php /usr/sbin/php
#测试
cd /
php -v

修改apache配置文件httpd.conf

找到AddType,加上新行,使其能够解析php文件

AddType application/x-httpd-php .php

找到DirectoryIndex行,修改如下,使其默认能识别index.php

DirectoryIndex index.html index.php

更多说明

1. 关于configure的选项可通过执行命令 ./configure --help 了解更多

2. 如果需要重新编译,那么在源码目录首先执行make distclean再进行编译,记得编译时须指定apache的安装目录

3. 官方提供的php在apache2.x下安装说明 http://php.net/manual/zh/install.unix.apache2.php

4. 如果需要重新编译php,需要把以前已经编译的模块全部重新编译,一个简单的方式可以通过复制phpinfo()里的Configure Command,然后加上需要新编译的模块。因为php源码编译是将所有的模块都集中编译到libphp5.so这一个文件里,然后通过apache进行加载的。



安装MySQL

# Preconfiguration setup
# 添加mysql组以及mysql用户
groupadd mysql
useradd -r -g mysql mysql

# Beginning of source-build specific instructions
# 安装
cmake .
make
make install
# End of source-build specific instructions

# Postinstallation setup
# 设置安装目录所属组和用户为mysql
cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .
# 初始化
scripts/mysql_install_db --user=mysql
#更改为安全的权限
chown -R root .
#设置mysql数据库的保存目录为mysql用户
chown -R mysql data
bin/mysqld_safe --user=mysql &


更多操作

#添加mysqld服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
#这样就可以使用如下命令来重启mysql了
service mysqld restart

#创建快捷方式,这样在任意路径下都可以执行mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql

#复制配置文件
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

#设置mysql服务在centos启动时一同启动
chkconfig --add mysqld
chkconfig mysqld on


© 著作权归作者所有

共有 人打赏支持
x
粉丝 1
博文 38
码字总数 10451
作品 0
渝北
私信 提问
加载中

评论(2)

x
xshanj2

引用来自“zouqilin”的评论

太简单
呵,你牛
zouqilin
zouqilin
太简单
vagrant基本用法

vagrant使用小结 最近公司用了vagrant的虚拟镜像服务,感觉挺不错的.在此仅记录使用方法. 优点:我们可以通过 Vagrant 封装一个 Linux 的开发环境,分发给团队成员。成员可以在自己喜欢的桌面...

卡卡东
2016/06/29
34
0
开发部署准备

分析工具 xmind modao zyblog 开发环境 webstrom phpstorm centos 部署环境 centos mysql redis nginx php python...

cs_sharp
2016/05/27
54
0
PHP7新建扩展

1、你已经配置过PHP7的开发环境。 1.1 检查centos安装源 yum list installed | grep php 有则删除旧的: yum remove php* 1.2 添加新的安装源 # CentOS 5.Xrpm -Uvh http://mirror.webtatic....

dingdayu
2016/03/27
119
0
初识docker,弄清镜像和容器

前言: 之前总是有人拿虚拟机和容器做比较。我之前一直理解的容器,就类似于虚拟机快照类似。拿别人的东西就直接用了。在我的虚拟机中安装一下,环境就搞好了。其实容器是一个彻底解耦的东西...

勃起狂奔者
08/08
0
0
nginx:413 Request Entity Too Large 及 修改 PHP上传文件大小配

nginx:413 Request Entity Too Large 及 修改 PHP上传文件大小配置 开发环境:CentOS + Nginx + PHP + MySql + phpMyAdmin 在用 phpMyAdmin 进行 sql 数据库导入的时候,经常需要上传比较大的...

蜗牛奔跑
2015/09/16
17
0

没有更多内容

加载失败,请刷新页面

加载更多

七牛qshell工具 批量删除操作

qshell 下载地址&文档(http://developer.qiniu.com/code/v6/tool/qshell.html) 这里我们演示的是windows下的操作,将下载的工具改名为:qshell.exe 然后将文件的路径添加到PATH 然后 点击 “...

koothon
今天
1
0
Fastjson-fastjson中$ref对象重复引用问题

import java.util.ArrayList;import java.util.List;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.serializer.SerializerFeature;/** * fastjson中$ref对象......

小黄狗
今天
1
0
mybatis一级缓存

mybatis执行查询的流程,最终都是通过动态代理进入到MapperProxy的invoke方法 @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { try......

wuyiyi
今天
6
0
安装weblogic wls1033_generic.jar 遇见的坑

接别人的烂摊子,weblogic部署没部署成功不部署了 让我远程给别人部署weblogic 11g 部署完成启动域的时候启动不了报错如下 Unrecognized option: -jrockit Error: Could not create the Ja...

雁南飞丶
今天
1
0
通过7个python函数理解区块链

我想对于那里的很多人来说,区块链就是这种现象,很难不让你头脑发热。我开始观看视频和阅读文章,但对我个人而言,直到我编写自己的简单区块链,我才真正理解它是什么以及它的潜在应用价值。...

笔阁
今天
30
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部