在windows和centos系统中搭建PHP7开发环境_php用contos和win-程序员宅基地

技术标签: PHP  

在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

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/kunzai6/article/details/80039408

智能推荐

Hive中反引号` ` 的作用_hive 反引号-程序员宅基地

文章浏览阅读1.9k次。hive (default)> create table log(`line` string) ;注:语句中`line`加上反引号表示无论字段名line是否关键字都可以正常创建表格。_hive 反引号

python的Tkinter库简单应用——开发一个简易计算器_python用tkinter做简易计算器-程序员宅基地

文章浏览阅读8k次,点赞11次,收藏83次。如何利用python来开发一个简易计算器提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录如何利用python来开发一个简易计算器前言一、实验准备二、开发步骤步骤1.引入库2.读入数据总结前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不_python用tkinter做简易计算器

俄罗斯主流支付平台 QIWI 支付的支付流程 及 QIWI支付问题Ошибка: Прием платежа для данного провайдера запрещен-程序员宅基地

文章浏览阅读406次,点赞15次,收藏6次。包括订单金额值,订单的币种,支付有效期,另外特别不一样的是在此步必须带上QIWI的支付账号)将以上数据发送给QIWI服务器地址:https://w.qiwi.com/api/v2/prv/商家ID/bills/订单ID用户可组装支付的地址,格式:https://w.qiwi.com/order/external/main.action?shop=商家ID&transaction=流水ID&successUrl=成功跳转页&failUrl=失败跳转页。

UNet3+:A FULL-SCALE CONNECTED UNET FOR MEDICAL IMAGE SEGMENTATION (UNet3+:用于医学图像分割的全尺寸连接网络)_unet 3+ a full-scale connected unet for medical im-程序员宅基地

文章浏览阅读194次。表2总结了定量比较结果。我们想到用64个3×3大小的滤波器进行卷积表现效果较好,卷积后便产生64个通道的特征图(在之前CNN那篇文章中我也提到,卷积核的数量==输出特征图的数量统一好了feature map的分辨率和数量后,就可以将浅层的精细信息与深层的语义信息进行特征融合了,关于特征融合一般有如下两种方法,FCN式的逐点相加或者U-Net式的通道维度拼接融合,本文是后者。其中,M表示尺度的总数量,μp​, μ g 和 σ p , σ g​ 分别是p、g的均值和方差, σ p g 表示它们的协方差。_unet 3+ a full-scale connected unet for medical image segmentation

echarts图例与文字对齐问题_echarts 如何让日期显示文字高度对齐-程序员宅基地

文章浏览阅读3.4k次,点赞3次,收藏8次。今天使用echarts时发现官网示例图例部分并没有进行对齐,一上一下逼死强迫症,经过对文档的查询,发现可以通过对textStyle-height以及rich的设置调整对齐方式textStyle: { fontSize: 14, height: 10, rich: { a: { verticalAlign: 'middle', }, ..._echarts 如何让日期显示文字高度对齐

STM32F103C8T6 引脚定义 GPIO_stm32f103c8t6 pin-程序员宅基地

文章浏览阅读795次。引脚定义:新建工程步骤:GPIO简介:_stm32f103c8t6 pin

随便推点

解决Linux环境中ping域名ping不通,ping ip地址可以ping通问题_linux系统ping 百度地址通,ping域名不通-程序员宅基地

文章浏览阅读3.6k次。解决域名ping不通,ip可以ping通问题_linux系统ping 百度地址通,ping域名不通

Warmup 原理与实现_warmup策略-程序员宅基地

文章浏览阅读851次,点赞3次,收藏4次。在神经网络训练过程中,学习率是一个很重要的超参数,学习率的选择对于网络的训练结果有较大的影响。理论上,如果学习率设置过小,则会出现收敛速度过慢的情况;如果学习率设置过大,则容易错过局部最优;实际上,如果学习率设置不合理,很容易出现模型不收敛的情况,warmup就是一种学习率调整策略。_warmup策略

Zookeeper基本实践_lbclientfactory zookeeper-程序员宅基地

文章浏览阅读185次。增删改查节点package com.org.zookeeper.crud;import com.org.zookeeper.ClientFactory;import lombok.extern.slf4j.Slf4j;import org.apache.curator.framework.CuratorFramework;import org.apache.zookeeper.AsyncCallback;import org.apache.zookeeper.CreateMode;impor_lbclientfactory zookeeper

长沙DDOS防护ddos高防ip大流量攻击防护如何采购性价比高-程序员宅基地

文章浏览阅读817次,点赞21次,收藏21次。选择高性价比的DDoS防护方案对于企业的网络安全至关重要。通过评估不同方案的防护能力、服务稳定性、价格和技术支持等因素,企业可以选择适合自身需求的防护解决方案。无论是原生防。

1.Git的安装,GitHub库的创建及VScode开发环境的配置_如何添加select repository location路径-程序员宅基地

文章浏览阅读329次。前言:使用VScode1.1Git的安装:Git官网:https://git-scm.com/Step1:从Git官网下载最新的Git版本,根据自己的电脑系统选择相应的Git版本即可,比如我这里下载的就是Git 2.30.0 for Windows版。下载完成后,打开安装包,如需调整安装路径,可自行选择。之后便是一连串的“Next”操作,完成Git的安装。Step2:安装完成后需要生成一个SSH Key,用于和GitHub之间的信息上传下载的更新。在安装好的Git下,找到“._如何添加select repository location路径

[转载]创建struts1.2 + Hibernate3.0 Web工程(一)-程序员宅基地

文章浏览阅读83次。创建struts1.2 + Hibernate3.0 Web工程(一)1. 环境说明  安装Eclipse和安装MyEclipse组件的过程在这里不进行介绍。可以参考其它资料完成Eclipse环境的安装与资源的配置。  接下来的..._hibernate - web工程例子