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

yipeiwu_com5年前PHP代码库

本文主要记载了通过编译方式进行软件/开发环境的安装过程,其他安装方式忽略!
文章背景:
因为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 文件上传进度条的两种实现方法的代码

目前我知道的方法有两种,一种是使用PHP的创始人 Rasmus Lerdorf 写的APC扩展模块来实现(http://pecl.php.net/packa...

php strlen mb_strlen计算中英文混排字符串长度

比较strlen和mb_strlen 当字符全是英文字符的时候,两者是一样。这里主要比较一下,中英文混排的时候,两个计算结果。(测试时编码方式是UTF8) 复制代码 代码如下:<?...

php使用curl出现Expect:100-continue解决方法

本文实例讲述了php使用curl出现Expect:100-continue解决方法。分享给大家供大家参考。具体如下: 使用curl POST数据时,如果POST的数据大于1024字节,c...

php实现的zip文件内容比较类

本文实例讲述了php实现的zip文件内容比较类。是一个非常实用的PHP类文件。分享给大家供大家参考。具体分析如下: 该php zip文件比较类主要实现比较两个zip文件的内容,返回新增,...

php简单浏览目录内容的实现代码

如下所示:复制代码 代码如下:<?php$dir = dirname(__FILE__);$open_dir = opendir($dir);echo "<table bor...