`

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

分享到:
评论

相关推荐

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

    Linux LNMP Web服务源码编译部署手册, LNMP=Linux Nginx Mysql PHP

    php部署和管理

    zip模块必须启用(linux环境下若用php源码编译需要加入zlib路径) c. 若服务器为linux环境, 应用根目录必须有读写权限, 如部署在apache的htdocs下面, 则htdocs必须有读定权限 〖管理权限〗 对于php应用的部署和去...

    CentOS8部署LNMP环境之编译安装nginx(一)

    目录一、优化CentOS8二、部署 LNMP前提准备三、源码编译安装nginx -1.8.0.tar.gz 一、优化CentOS8 既然要使用CentOS8,那么我们就不先优化CentOS8才行。如下: 1、替换CentOS镜像 [14:21:01 root@wangzhike yum....

    PHP社区交友系统开源傻瓜式搭建-附app编译教程+视频部署教程

    【简单介绍 具体步骤请参考视频教程】 第一步:导入数据库文件 ...第一步:请按照视频教程安装Android Studio软件,软件在网盘同目录。 第二步:请把APP源代码文件夹里面的文件夹复制到桌面,在按照视频教程生成APP

    zabbix.z01zabbix5安装php7.4.6,mysql5.7.30,rpm安装

    zabbix5安装php7.4.6,mysql5.7.30,rpm安装,无源码编译,离线安装zabbix5

    第二十六章:Centos7编译部署lamp平台1

    第二十六章:Centos7编译部署lamp平台1

    php5.5_apache24独立部署详细说明(包含配置完好的php及apache2.4文件包和具体配置说明)

    3.本机如果没有安装vc9、vc11、vc14或者其他版本php运行库,需要安装相应版本运行库,运行库要与PHP编译版本一致 4.配置apache24 conf/httpd.conf文件,配置方法详见文档 5.配置php配置文件,配置方法详见文档 6....

    Linux下手动编译安装PHP扩展的例子分享

    开发和部署的过程中可能会经常出现需要额外安装PHP扩展的情况,下边以PDO_MYSQL为例,介绍下手动编译安装PHP扩展: 先到http://pecl.php.net/找需要的版本,我用的是稳定的版本。要先看看说明,特别是要注意mysql的...

    Linux+php+apache+oracle环境搭建之CentOS下源码编译安装PHP

    环境搭建过程中,编译安装PHP最艰辛。需要安装的依赖组件太多。现在整理记录一下。也希望对读者能有所帮助

    Centos7下安装部署nagios-server

    目录1. nagios简介2. 服务器准备2.1 主机信息+IP地址2.2 查看主机的系统版本信息2.3 暂时关掉... nagios服务端程序安装部署5.1 安装部署nagios服务端主程序5.1.1 解压安装包5.1.2 配置编译5.1.3 编译安装5.1.4 设置nag

    arm配置httpd

    用buildroot编译生成httpd和PHP解释器,在arm板上配置httpd和PHP的解释器的配置文件,是httpd支持PHP

    2023新版去水印微信小程序+流量主+PHP内核独立后台+内置解析接口+自定义接口+部署教程

    uniapp可以编译成微信小程序、QQ小程序等等 1、可以创建多个小程序对接同一个后台(多开) 2、每个小程序可单独配置轮播图、流量主等 3、可以自定义解析接口(里面自带抖音视频解析) 部署教程在下载的文件里面...

    nagios4.3.2安装文档

    nagios4.3.2编译安装安装文档,包括依赖软件的编译安装、nagios的编译安装、php配置、监控主机配置、被监控主机配置。

    PHP实现git部署的方法教程

    在小站点上,直接用git来部署php代码相当方便,你的远程站点以及本地版本库都有一个版本控制,追踪问题或者回滚是很轻松的事情。 因为在小公司上班,原先的系统还在使用传统的ftp上传部署,部署太麻烦,也不好管控...

    CentOS系统中PHP安装扩展的方式汇总

    而 线上部署 环境则推荐 编译安装 , 方便调优。 本文以 MongoDB 扩展`安装举例。 工具 PHP版本 : 7.0.17 Nginx : 1.10.2 VMware版本号 : 12.0.0 CentOS版本 : 7.0 一、yum 安装 yum 方式 安装能自动安装扩展的....

    CentOS 6.5编译安装Nginx 1.10.2+MySQL 5.5.52+PHP5.5.38

    准备篇 一、配置防火墙,开启80端口、3306端口 vi /etc/sysconfig/iptables #编辑防火墙配置文件 # Firewall configuration written by system-config-firewall # Manual customization of this file is not ...

    AWebDeploymentTool(web代码部署工具)

    Walle 一个web部署系统工具,可能也是个持续发布工具,配置简单、功能完善、界面流畅、开箱即用!支持git、svn版本管理,支持各种web代码发布,静态的HTML,动态PHP,需要编译的JAVA等

    编写PHPMSSQLProxy实现SQL Server 2014代理服务

    在PHP网站下载编译的二进制包(PHP 7.0.6)解压就算安装完成了, 但在Linux下访问MSSQL2014非常容易,反而在Windows 平台下也没有合适的官方组件可使用(PHP 7.0.6没有MSSQL连接组件) 与是用C#编写了一个SocketServer...

    phabel:PHP transpiler-今天编写和部署现代PHP 8代码

    在用户计算机上安装时,目标用户的特定php版本(或配置中指定的另一个php版本),编译器将无缝地挂接到composer上,以编译软件包(以及所有依赖关系到依赖关系树的当前分支!)。 该项目已准备就绪,我希望获得...

    口红机搭建源码分享+教程

    环境安装时,选择编译安装。 软件:nginx 1.8+mySQL5.6+FTPd 1.0.47+phpMyAdmin 4.4+php5.6 各类地址: 首页:http://域名/app/./index.php?i=1&c=entry&eid=25 我的:前面不变eid=26 闯关订单:27 口红订单: 28 ...

Global site tag (gtag.js) - Google Analytics