`

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

分享到:
评论

相关推荐

    编译安装LAMP环境和nagios部署.docx

    【编译安装LAMP环境和Nagios部署】 在Linux环境中,LAMP(Linux, Apache, MySQL, PHP)是一套常见的Web服务器基础架构,而Nagios则是一种网络监控工具,用于检查系统的运行状态。以下将详细介绍如何在CentOS环境下...

    zabbix4.4&httpd&php编译安装.zip

    本压缩包“zabbix4.4&httpd&php编译安装.zip”提供了Zabbix 4.4版本、Apache HTTP服务器(httpd)和PHP的源码包以及编译安装脚本,旨在帮助用户在未预装这些组件的环境中快速搭建完整的Zabbix监控环境。 首先,...

    zabbix源码编译一键部署(包含proxy)

    本教程将详细介绍如何在Red Hat 7或CentOS 7及其以上版本上,通过源码编译的方式,一键部署Zabbix包括Proxy组件,并集成LNMP(Linux + Nginx + MySQL + PHP)环境。这种方式的好处在于能够灵活地定制配置,适应特定...

    Nginx实战基础篇六通过源码包编译安装部署LNMP搭建Discuz论坛.pdf

    在本文档中,我们将探讨如何通过源码包编译安装部署LNMP(Linux + Nginx + MySQL + PHP)环境,并在此基础上搭建Discuz论坛。首先,我们需要了解LNMP架构的基本概念和优势。LNMP组合因其高并发处理能力和资源优化...

    Nginx实战基础篇六通过源码包编译安装部署LNMP搭建Discuz论坛[归纳].pdf

    在本教程中,我们将深入探讨如何通过源码包编译安装部署LNMP环境,并在此基础上搭建Discuz论坛。首先,我们需要了解LNMP架构的基本组成,它由Linux操作系统、Nginx网络服务器、MySQL数据库和PHP解释器(通常为...

    Linux LNMP Web服务源码编译部署手册

    总结来说,Linux LNMP Web服务源码编译部署手册是一份详细的指南,它不仅涉及到Nginx服务器的安装和配置,还包括了如何结合MySQL和PHP构建一个完整的Web服务架构。手册还对Nginx的工作原理和它与其他服务器软件的...

    zabbix安装部署手册

    编译安装 PHP,需要下载 PHP 的源代码,解压缩,编译并安装: `wget http://php.net/get/php-5.5.10.tar.gz/from/this/mirror tar -zxvf php-5.5.10.tar.gz cd php-5.5.10 ./configure make make install` 3.2 ...

    RedHat6.4+版本的编译安装LAMP架构

    - 编译和安装PHP,确保所有依赖项已安装,如`gcc`,`ncurses-devel`,`openssl-devel`等。 - 配置Apache以加载PHP模块,修改`httpd.conf`文件,添加`LoadModule php5_module modules/libphp5.so`。 - 重启Apache...

    zabbix-ubuntu安装详细步骤部署

    Zabbix-ubuntu 安装详细步骤部署 Zabbix 是一个功能强大且灵活的监控工具,可以实时监控服务器、网络设备和应用程序。下面是在 Ubuntu 20.04 系统上安装 Zabbix 服务器的详细步骤。 系统设置 在安装 Zabbix 之前...

    CentOS7下源码编译配置Apache2.4+MySQL5.6+PHP71

    在本文中,我们将深入探讨如何在CentOS 7操作系统上通过源代码编译来安装Apache 2.4、MySQL 5.6和PHP 7.1。这个过程对于那些希望自定义软件配置或在没有预装包的环境中部署这些服务的系统管理员来说非常有用。 首先...

    php zend反编译

    3. **闭源部署**:只提供编译后的二进制版本,不公开源码。 4. **许可证限制**:通过开源协议限制代码的使用和分发,例如选择GPL等不允许闭源衍生作品的许可证。 总的来说,PHP zend反编译是一个既有挑战性又具实用...

    lnmp编译安装步骤

    LNMP(Linux、Nginx、MySQL、PHP)是一个常见的Web服务器组合,广泛应用于网站部署和开发环境中。本文将详细讲解如何在Linux系统上手动编译安装LNMP平台,这对于新手来说是一个很好的学习过程。 首先,我们需要确保...

    PHP编译软件 非常好用

    PHP编译软件在IT行业中扮演着重要的角色,尤其对于开发者来说,它提供了将源代码转换为不可读格式的能力,以保护知识产权和防止未授权的访问。"ioncube_encoder_evaluation.zip"是一个与PHP相关的压缩包,它包含的是...

    centos的nginx+php的fastcgi模式编译安装

    这里我们关注的是在CentOS操作系统上使用Nginx作为Web服务器,并结合PHP的FastCGI模式进行编译安装。这种组合通常被称为“Nginx + PHP-FPM”配置,能够提供高性能、低资源消耗的网站服务。下面将详细阐述这一过程...

    PHP完整编译参数

    以下是对给定的PHP编译参数进行详细解读: #### 二、核心编译参数 1. **`--prefix=/usr/local/php`** - **作用**:指定PHP的安装目录。这是编译安装PHP时最基础的参数之一。 - **意义**:确保所有与PHP相关的...

    Centos6下编译安装LAMP的完整部署记录(个人珍藏版本)

    在本文档中,我们将深入探讨如何在CentOS 6操作系统上编译安装LAMP(Linux、Apache、MySQL、PHP)环境。LAMP是构建Web服务器的流行组合,它为开发和运行动态网站提供了基础。以下是详细的步骤: 1. **安装必要依赖*...

    CentOS 6.4系统下编译安装LNMP和配置PHP环境.docx

    配置完成后,运行`make && make install`来编译并安装PHP。安装完成后,创建软链接到系统的可执行文件路径,如`ln -s /opt/php/bin/php /usr/bin/php`。 7. **配置PHP-FPM** PHP-FPM(FastCGI Process Manager)...

Global site tag (gtag.js) - Google Analytics