php编译安装部署

虽然对php一窍不通,但是,php的环境还是得会搭建的嘛。

今天公司需要搭建php环境,查了些资料,搭建了一个,在这儿做个记录,要是以后再需要的话,我就不需要再找资料了。

我大部分是参考这个文档做的:http://www.cnblogs.com/lufangtao/archive/2012/12/30/2839679.html

 

1、下载Apache

 

wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.20.tar.gz

 2、安装Apache

 

 

tar -zxvf httpd-2.4.20.tar.gz 
cd httpd-2.4.20
mkdir /usr/local/apache2
###必须使用--enable-module=shared参数,不然php无法动态加载
./configure --prefix=/usr/local/apache2 --enable-module=shared

 2.1、此时若报错如下

 

checking for APR... no
configure: error: APR not found.  Please read the documentation.

 解决方法:在Apache APR(http://apr.apache.org/)下载apr和apr-util

 

2.2、下载、安装apr

 

wget http://mirror.bit.edu.cn/apache//apr/apr-1.5.2.tar.gz
tar -zxvf apr-1.5.2.tar.gz 
cd apr-1.5.2
mkdir /usr/local/apr
./configure --prefix=/usr/local/apr
make
make install

2.3、安装pcre

 

 

wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip  
tar -zxvf pcre-8.10.zip 
unzip pcre-8.10.zip 
cd pcre-8.10
mkdir /usr/local/pcre
./configure --prefix=/usr/local/pcre

 

2.4、安装apr-utl

 

wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
tar -zxvf apr-util-1.5.4.tar.gz 
cd apr-util-1.5.4
mkdir /usr/local/apr-url
./confiure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install

 2.5、重新编译Apache

 

 

./configure --prefix=/usr/local/apache2 --enable-module=shared --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre 
make && make install

 3、若编译成功则启动Apache

 

 

cd /usr/local/apache2/bin
./apachectl -k start

4、配置Apache

 

vim /usr/local/apache2/conf/httpd.conf
#找到:
AddType  application/x-compress .Z
AddType application/x-gzip .gz .tgz
#在后面添加:
AddType application/x-httpd-php .php#使Apcche支持PHP
AddType application/x-httpd-php-source .php5   
#找到:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
#添加:
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>    
#找到:
#ServerName www.example.com:80
#修改为:
ServerName 127.0.0.1:80或者ServerName localhost:80
#记得要去掉前面的“#”  
#修改完重启Apache
./apachectl -k restart

5、测试Apache启动是否成功

 

 

curl http://localhost

 若可以得到It Works!的页面说明Apache安装成功

 

6、下载php

 

wget http://cn2.php.net/get/php-7.0.7.tar.gz/from/this/mirror

 7、安装php

 

 

tar -zxvf php-7.0.7.tar.gz 
cd php-7.0.7
mkdir /usr/local/php
./configure --prefix=/usr/local/php  --with-apxs2=/usr/local/apache2/bin/apxs
make
make test
make install
cp php.ini-development /usr/local/php/lib/php.ini

 8、安装mysql (http://jingyan.baidu.com/article/acf728fd10c3d6f8e510a3ef.html)

 

 

yum list installed mysql*
rpm -qa | grep mysql*
yum install mysql
yum install mysql-server
yum install mysql-devel
#启动mysql服务:
service mysqld start
#或者
/etc/init.d/mysqld start
#开机启动:
chkconfig -add mysqld
#创建root密码
mysqladmin -u root password 123456

 9、修改默认的Web站点目录

 

 默认的目录为  "/usr/local/apache2/htdocs",修改apache的配置文件httpd.conf,比如在新建一个 /home/jhhome的目录作为apache的站点目录

    找到DocumentRoot这一行修改为:DocumentRoot "/home/jhhome"

   找到 <Directory> 这一行修改为:<Directory "/home/jhhome"> 

10、测试Web站点目录是否修改成功

 

vi /usr/jhhome/index.html
#写入
hello

 10.1、访问我们修改的站点

curl http://localhost

 

10.2、若出现如下错误:

“You don't have permission to access /index.html on this server.”

10.3、解决方法:

更改文件权限;

 

chmod 755 index.html

 

打开apache配置文件httpd.conf,找到<Directory /></Directory>,加入如下内容:(主要是Alow from all,表示允许获取所有)

 

<Directory />
     Options FollowSymLinks
     AllowOverride None
     Order deny,allow
     Alow from all
     Satisfy all
</Directory>

 10.4、修改完重启httpd服务

 

./apachectl -k restart

 10.5、再次测试是否成功

 

curl http://localhost

得到hello字样,表示修改Web站点目录成功

11、测试php安装是否成功

 

mv /usr/jhhome/index.html /usr/jhhome/index.php
vi /usr/jhhome/index.php
#写入
<?php
phpinfo();
?>

 

 12、再次测试是否成功

curl http://localhost

若出现php版本信息,说明php安装成功

13、找到mysql_config路径

find / -name mysql_config

 14、重新编译安装php,使php可以支持mysql  --with-mysqli后面更mysql_config的路径

./configure --prefix=/usr/local/php  --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqli=/usr/lib64/mysql/mysql_config
make
make test
make install

 15、测试php是否支持mysql

mysql -u root -p
#会提示输入密码,就用刚才设置的密码
123456
#如果出现mysql>,说明连接成功了,下面通过命令 创建一个数据库、建一个表,增加一条记录,为后面的测试准备
mysql> create database gywtest;
mysql> use gywtest;
mysql> create table student(id int(4) not null primary key auto_increment,stuname char(20));
mysql> insert into student(stuname) values('Tom');
Ctrl+c 退出
vim /usr/jhhome/test.php
#加入以下内容
<?php 
  $mysqli=new mysqli();
  $mysqli->connect('localhost','root','123456','gywtest');
   // 创建查询
   $sqlstr='select * from student';
  //发送查询给MySql
   $result=$mysqli->query($sqlstr);
    while($row=$result->fetch_object())
    { 
      $name=$row->stuname;
       echo $name;
    }
?>

 16、再次测试是否成功

curl http://localhost/test.php

若出现tom字样,说明php已支持mysql

猜你喜欢

转载自linhexiao.iteye.com/blog/2302854
今日推荐