在windows和centos系统中搭建PHP7开发环境

在win7环境上安装:

一:准备软件:

1.下载:php-7.1.16-Win32-VC14-x64.zip    地址:http://php.net/downloads.php

2.下载:apache2.4:httpd-2.4.33-o102o-x64-vc14-r2.zip  地址:http://httpd.apache.org/download.cgi

注意:Apache2.2中是不支持php7的,所以,我们必须下载Apache2.4

3. 下载Visual C++ 2015

由于php7(apache也需要)使用了VC14的编译环境,所以我们还需要下载Visual C++ 2015,下载地址:

https://www.microsoft.com/en-US/download/details.aspx?id=48145

二.安装:

1.安装vc++ 2015 

双击安装vc_redist.x64.exe(要点时间,等着)

2. 解压php-7.1.16-Win32-VC14-x64.zip:

设置环境变量:在Path 中添加“  ;C:\wjanzhuang\php7.1.16;C:\wjanzhuang\php7.1.16\ext  ”

php -version    出现版本号,则安装成功。

配置参数:

需要修改的文件:C:/wjanzhuang/php7.1.16/php.ini

a. 修改php.ini-development

    将C:/wjanzhuang/php7.1.16目录下的php.ini-development文件名修改为php.ini

b. 修改扩展目录

    extension_dir = "C:/wjanzhuang/php7.1.16/ext"

    此处必须为绝对路径

c. 开启相关扩展

根据需要开启相关扩展,我这边只开启了如下扩展:

    extension=php_gd2.dll

    extension=php_curl.dll

    extension=php_mbstring.dll

    extension=php_openssl.dll

    extension=php_mysqli.dll

    extension=php_pdo_mysql.dll

注意:php7中,已经不支持php_mysql.dll这个扩展了。

d. 设置时区

    date.timezone ="Asia/Shanghai"e. 设置错误报告等级

    error_reporting = E_ALL ^ E_NOTICE

e. 设置文件传输参数

upload_max_filesize = 12M              设置上传文件的大小

max_file_uploads = 60                        设置一次上传的附件总数

三.安装apache

1.解压httpd-2.4.33-o102o-x64-vc14-r2.zip

2.创建Apache服务

以管理员身份进入cmd

输入:

 

出现:

Installing the "Apache2.4" service

The "Apache2.4" service is successfully installed

则创建成功。

3.配置apache参数

需要修改的文件:C:/wjanzhuang/httpd2.4.33/Apache24/conf/httpd.conf

a. 设置apache的安装目录

Define SRVROOT "/Apache24"修改为

Define SRVROOT "C:/wjanzhuang/httpd2.4.33/Apache24"

b. 配置工作空间

将下面两行

DocumentRoot "${SRVROOT}/htdocs"

<Directory "${SRVROOT}/htdocs">

修改为   (D:/phpwork为存放php工程目录的

DocumentRoot "D:/phpwork"

<Directory "D:/phpwork">

c. 禁止访问网站目录

对于上面<Directory "D:/phpwork">,出于安全方面的考虑,我们最好配置该选项,禁止访问网站的目录列表。设置成如下:

<Directory "D:/phpwork">
    Options All
    AllowOverride All
    Require all granted
</Directory>

d. 装载php模块

在#LoadModule xml2enc_module modules/mod_xml2enc.so下面添加:(将php的目录装在到apache配置文件中)

PHPIniDir "C:/wjanzhuang/php7.1.16"

LoadModule php7_module "C:/wjanzhuang/php7.1.16/php7apache2_4.dll"

AddType application/x-httpd-php .php

注意:php7apache2_4.dll文件要下载以上safe版的才有,不要下错php版本。

e. 配置默认首页

在<IfModule dir_module>标签内,将

DirectoryIndex index.html

修改为

DirectoryIndex index.html index.php

f. 检查Apache配置

切换到apache安装目录的bin目录下,输入:httpd.exe -t,如图:

如果返回Syntax OK,则表示apache在配置上以及所需的运行环境都是OK的,如果不是,则需要根据错误提示,排查错误。

五,测试:

1.编辑index.php文件放入D:\phpwork文件夹中。index.php测试码如下:

<!DOCTYPE html>
<html>
<body>
<?php
$x=10; 
$y=6;
echo ($x + $y);
echo "<br>";
echo ($x - $y);
echo "<br>";
echo ($x * $y);
echo "<br>";
echo ($x / $y); 
echo "<br>";
echo ($x % $y); 
?>   
</body>
</html>

2.在C:\wjanzhuang\httpd2.4.33\Apache24\bin中点击httpd.exe文件启动apache服务器

在页面中访问localhost等到相应页面则成功。

 

在linux(centos7.2上)环境上安装:

一.apache安装

1.运行:yum install httpd httpd-devel

2.修改配置文件:/etc/httpd/conf  参照win下的配置。

1:Listen 8006

2:<Directory "/var/www/html">
   
Options All
    AllowOverride All
    Require all granted

</Directory>

3:<IfModule dir_module>
    DirectoryIndex index.html
index.php
</IfModule>

注意:默认是80端口,当服务器上80被其他的程序占用时必须换成其他端口,否则启动不了。换成好的端口要开防火墙,在阿里云服务器则在管理界面打开端口即可。

3.进入/bin

systemctl  start httpd.service   启动服务

systemctl  stop httpd.service   停止服务

systemctl  restart httpd.service 重启服务

 

第二、设置开机启动/关闭

systemctl enable httpd.service #开机启动

systemctl disable httpd.service #开机不启动

第三、检查httpd状态

systemctl status httpd.service

 

关闭防火墙(阿里云直接在阿里云管理界面配置)

关闭:systemctl stop firewalld.service

查看状态:systemctl status firewalld.service

注释:当需要拆卸重新安装时:第一步:yum list | grep httpd  第二步: yum erase httpd.x86_64  第三步:重新安装

二、PHP安装

1、yum安装(这种安装默认是装php5,所以一般不用这种安装方式)
yum -y install php

php各项服务安装:
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-mysql

网站文件夹:
/var/www/html

 

然后把你的PHP文件上传到html文件夹里去浏览器中输入主机IP加端口(默认是80)就可以了

附录:

在centos系统安装PHP时,默认的安装版本都很低,所以要指定安装的高版本。方法如下:

 

以是CentOS 7.0的源为例。

# yum install epel-release# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

使用yum list命令查看可安装的包(Packege)。

# yum list --enablerepo=remi --enablerepo=remi-php70 | grep php

安装PHP7.0yum源配置好了,

下一步就安装PHP7.0

yum install --enablerepo=remi --enablerepo=remi-php70

 

2、源码安装php7.2.5

 

1.下载php7.2.5.tar.gz并解压

tar -zxvf php7.2.5.tar.gz

进入:cd  php7.2.5

2.进入解压包后,安装必要依赖:

yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel  autoconf

3.安装gcc

yum install gcc

yum install gcc-c++

4.安装
yum -y install libxslt-devel* 
yum -y install perl* 
yum -y install httpd-devel
find / -name apxs 得到的路径是:/usr/bin/apxs

于是得到--with-apsx2的路径是/usr/bin/apxs

注意:yum -y install perl* 安装的会非常多,也可以不装,缺什么再单独装。

 

5.配置

./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath -enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-pcntl --with-curl --with-fpm-user=nginx --enable-ftp --enable-session --enable-xml --with-apxs2=/usr/bin/apxs

注意:--prefix=/usr/local/php7是php的安装路径。--with-apxs2=/usr/bin/apxs是apache中路径,不配置的话,运行php文件时,只是下载,不能解析,且无法生存libphp.so文件,可通过find / -name apxs 得到的路径是:/usr/bin/apxs。未生成libphp.so文件,怎删除安装的,重新运行./configure ........

坑:::--with-config-file-path=/usr/local/php7/etc 设置php.ini设置的位置,后面操作要把php.ini复制到这个文件夹。否则设置的php.ini 是无效的。

6.编译
make

7.编译检查
make test 
这步可走可不走,因为它老是爱提示错误,但又不给错误信息,如果有问题,那么编译的时候一定不成功,既然编译成功了,那么可以直接进行安装。

8.安装
make install

9.添加环境变量
vi /etc/profile
在末尾加入:
PATH=$PATH:/usr/local/php7/bin
export PATH

10.使改动立即生效
source /etc/profile

11.查看php版本
php -v 
(如果有问题 请检查添加的环境变量是否是PHP安装目录里的bin目录)

12.生成必要文件
cp php.ini-production /usr/local/php7/etc/php.ini
cp sapi/fpm/php-fpm /usr/local/php7/etc/php-fpm
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

 

以下配置是apache的配置,将php配置到apache环境中

13.配置

修改Apache配置:
vi /etc/httpd/conf/httpd.conf

DocumentRoot "/var/www/html"
(请注意,/var/www这个路径是自定义,在配置文件中有好几处这个路径,如果更改,请全局搜索一下都改掉)

找到
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在后面添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .php7

搜索<IfModule dir_module>下面这一块添加上index.php
<IfModule dir_module>
 DirectoryIndex index.html index.php
</IfModule>

搜索有没有下面这一行:
LoadModule php7_module modules/libphp7.so
如果没有 请手动添加 否则 会出现运行php文件变成下载,通过find / -name '*libphp7.so*'

在最下面配置域名
<VirtualHost *:80>
 DocumentRoot /var/www/html
 ServerName www.你的域名.com
 ServerAlias 你的域名.com
 <Directory /phpstudy/www>
 Options +Indexes +FollowSymLinks +ExecCGI
 AllowOverride All
 Order Deny,Allow
 Allow from all
 </Directory>
</VirtualHost>

14.测试
在www目录下创建index.php
添加<?php phpinfo();?>
访问:www.你的域名.com

注意问题:

问题一:出现:Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.

基本上apache端口被占用,需要换其他端口。如:81

问题二:父目录(/var/www/html)不可写。安装程序无法建立数据目录(/var/www/html/moodledata),即使在使用了chmod  -R 777  /var/www/html/moodledata 也是会出现问题。这是跟linux系统的安全机制相关,需要再系统内部进行设置,需要如下两步:

1.修改对象(http)的安全上下文

chcon -R -t httpd_sys_rw_content_t  /var/www/html/moodledata

2.设置权限

chmod -R 777   /var/www/html/moodledata 

问题三:安装数据库时出现:mysqli_connect(): (HY000/2002): Permission denied

因为没有关闭selinux,通常情况下载安装完CentOS7后,默认情况下SElinux是启用状态。

查看状态:# sestatus

Current mode:  enforcing  

执行关闭:setenforce 0  

Current mode: permissive    

可以永久性关闭:将/etc/selinux/config中SELINUX设置为disabled

SELINUX=disabled

3、拆卸php

首先这个命令是删除不干净的:yum remove php

必须使用:rpm -qa|grep php 出现 :

php-pdo-5.1.6-27.el5_5.3

php-mysql-5.1.6-27.el5_5.3

然后逐个删除:

rpm -e php-mysql-5.1.6-27.el5_5.3

rpm -e php-pdo-5.1.6-27.el5_5.3

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kunzai6

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值