Linux环境下搭建php开发环境的操作步骤


Posted in PHP onJune 17, 2013

本文主要记载了通过编译方式进行软件/开发环境的安装过程,其他安装方式忽略!
文章背景:
因为php和Apache等采用编译安装方式进行安装,然而编译安装方式,需要c,c++编译环境,
通过apt方式安装build-essential
$ sudo apt-get install build-essential
编译安装的步骤一般分为:
编译配置
$ ./configure --XXX(参数s)
编译配置的问题:
a、在没有安装之前,对软件无法全面了解
b、如果不全全面了解,又不知道该怎么安装(附带哪些参数)
c、可以先选择一个最简单的安装方式,随着使用,多次安装来解决这个问题
该过程比较复杂,需要很复杂的具体参数配置,具体参数通过 configure --help 查看
编译
$ make
安装
$ sudo make install
**************************************
Apache 安装
1、下载 httpd-2.2.11.tar.gz
2、解压
tar zxvf httpd-2.2.11.tar.gz
在执行tar指令的路径下,会产生一个httpd-2.2.11目录
3、查看一下编译的配置信息
     切换到解压之后的httpd-2.2.11目录
   ./configure --help
     通过本步骤可以了解有那些可以安装的模块,以及安装配置信息需要设置
     进一步查看手册,也可以了解相关信息 

4、进行编译配置
$ ./configure --prefix=/usr/local/apache2 \  指定安装目录
--enable-so \                                允许使用外部so模块
--with-mpm=prefork                           url请求跳转策略
5、编译:
$ make
6、安装:(使用sudo是因为要安装的路径/usr/local/apache2不属于个人路径)
$ sudo make install
《安装完毕》
7、测试
修改httpd.conf。
将  #ServerName www.example.com:80 修改为 ServerName 127.0.0.1:80(localhost:80)
启动 sudo ./apachectl -k start
停止 sudo ./apachectl -k stop
重新起动 sudo ./apachectl -k restart (该命令有时无效,用stop+start代替)

****************************************
PHP安装

1、下载php-5.2.8.tar.gz
2、解压tar zxvf php-5.2.8.tar.gz
3、查看一下编译的配置信息
     切换到解压之后的httpd-2.2.11目录
   ./configure --help
     通过本步骤可以了解有那些可以安装的模块,以及安装配置信息需要设置
     进一步查看手册,也可以了解相关信息
4、编译配置
./configure --prefix=/home/guandl/webenv/php528 \
--enable-mbstring \
--with-apxs2=/usr/local/apache2/bin/apxs 
5 编译
make
6、安装
sudo make install
《安装完毕》
7、复制php.ini
因为一般安装后的php目录$php/lib下没有php的配置文件,需要把解压目录下的php.ini-recommended复制到php的lib目录
sudo cp php.ini-recommended /home/guandl/webenv/php528/lib/php.ini
8、修改apache 的配置文件 httpd.conf
增加一下内容
LoadModule php5_module        modules/libphp5.so 安装php时候已经自动生成
AddType application/x-httpd-php .php
9、测试
编写一个php文件,如any.php
<?php
phpinfo();
?>
放到apache的htdocs目录下
重新启动apache
http://127.0.0.1/any.php

PHP 相关文章推荐
MySQL授权问题总结
May 06 PHP
PHP 页面编码声明方法详解(header或meta)
Mar 12 PHP
php+mysql 实现身份验证代码
Mar 24 PHP
php截取utf-8中文字符串乱码的解决方法
Mar 29 PHP
PHP生成唯一的促销/优惠/折扣码(附源码)
Dec 28 PHP
解析php中的escape函数
Jun 29 PHP
php获取目标函数执行时间示例
Mar 04 PHP
php实例分享之二维数组排序
May 15 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
Jun 10 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
Dec 21 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
Jul 31 PHP
php探针不显示内存解决方法
Sep 17 PHP
PHP之短标签开启设置
Jun 17 #PHP
深入掌握include_once与require_once的区别
Jun 17 #PHP
php抓取页面的几种方法详解
Jun 17 #PHP
深入PHP magic quotes的详解
Jun 17 #PHP
php错误级别的设置方法
Jun 17 #PHP
PHP大小写问题:函数名和类名不区分,变量名区分
Jun 17 #PHP
修改php.ini以达到屏蔽错误信息并记录日志
Jun 16 #PHP
You might like
《逃离塔科夫》——“萌新劝退,老手自嗨”的硬核FPS游戏
2020/04/03 其他游戏
利用PHP制作简单的内容采集器的代码
2007/11/28 PHP
用PHP写的一个冒泡排序法的函数简单实例
2016/05/26 PHP
Smarty模板配置实例简析
2019/07/20 PHP
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
2012/03/01 Javascript
Javascript基础教程之switch语句
2015/01/18 Javascript
JS随机调用指定函数的方法
2015/07/01 Javascript
js+div+css下拉导航菜单完整代码分享
2016/12/28 Javascript
移动端界面的适配
2017/01/11 Javascript
Easyui和zTree两种方式分别实现树形下拉框
2017/08/04 Javascript
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
一些可能会用到的Node.js面试题
2019/06/15 Javascript
微信小程序实现一张或多张图片上传(云开发)
2019/09/25 Javascript
element-ui tooltip修改背景颜色和箭头颜色的实现
2019/12/16 Javascript
React 条件渲染最佳实践小结(7种)
2020/09/27 Javascript
[02:04]2018DOTA2亚洲邀请赛Secret赛前采访
2018/04/03 DOTA
Python获取DLL和EXE文件版本号的方法
2015/03/10 Python
Python3安装Scrapy的方法步骤
2017/11/23 Python
python pandas 对时间序列文件处理的实例
2018/06/22 Python
python3调用百度翻译API实现实时翻译
2018/08/16 Python
python绘制简单彩虹图
2018/11/19 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
2021/01/28 Python
pycharm配置安装autopep8自动规范代码的实现
2021/03/02 Python
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
Booking.com英国官网:全球酒店在线预订网站
2018/04/21 全球购物
法学毕业生自我鉴定
2013/11/08 职场文书
报社实习生自荐信
2014/01/24 职场文书
师范生自我鉴定
2014/03/20 职场文书
2016公务员年度考核评语
2015/12/01 职场文书
优秀党员先进事迹材料2016
2016/02/29 职场文书
关于Javascript闭包与应用的详解
2021/04/22 Javascript
Element实现动态表格的示例代码
2021/08/02 Javascript
Spring中的@Transactional的工作原理
2022/06/05 Java/Android