Windows Server 2016 上配置 APACHE+SSL+PHP+perl的教程详解

 更新时间:2017年7月6日 23:34  点击:2529
Windows Server 2016 上配置 APACHE+SSL+PHP+perl怎么配置?小编推荐了一篇介绍Windows Server 2016 上配置 APACHE+SSL+PHP+perl的教程,有需要的同学快来看看吧!

 

 代码如下 复制代码

<strong><span style="color:#FF0000;">安装环境</span></strong>

 谷歌云实例 Windows Server 2016

Apache   Apache/2.4.25 (win64-VC14)

PHP    php-5.6.30 (VC11 x64 Thread Safe)

PERL    ActivePerl-5.24 (Win64)

OpenSSL  openssl-1.0.2j-win64

VC14    Microsoft Visual C++ 2015(vcredist_x64)

VC11    Microsoft Visual C++ 2015(vcredist_x64)

<strong><span style="color:#FF0000;">1.安装 Apache</span></strong>

Apache/2.2 不支持php-5.3以后的版本,用最新的 Apache/2.4,由于是Win64-VC14版本,需安装 x64位版本的 VC2015运行库,即VC14

http://httpd.apache.org/download.cgi

http://www.apachelounge.com/download/VC14/binaries/httpd-2.4.25-win64-VC14.zip

解压到 D:\httpd

修改 D:\httpd\conf 和 D:\httpd\conf\extra 目录下的文件,替换 C:/apache24 到 D:/httpd

<span style="color:#FF0000;"><strong>2.安装 SSL</strong></span>

http://openssl.org

https://wiki.openssl.org/index.php/Binaries

https://slproweb.com/products/Win32OpenSSL.html

这里使用了 Apache/2.4.25 自带的 openssl ,在 D:\httpd\bin 目录 ,默认配置文件位于 C:/openssl-1.0.2j-win64/ssl/openssl.cnf

用命令建立 server.key 和 server.crt

  setpath=D:/httpd/bin

  D:

  cdD:/httpd/conf/

  copyopenssl.cnf openssl.conf

  mkdir demoCA\newcerts

  echo.>demoCA/index.txt

  echo.>demoCA/serial

  openssl genrsa-outserver.key 1024

  openssl req-new-x509-keyserver.key-outserver.crt-days3650-configopenssl.conf  

修改 D:/httpd/conf/httpd.conf 文件,去掉下面两行前面的#

#LoadModule ssl_module modules/mod_ssl.so

#Include conf/extra/httpd-ssl.conf

修改 D:/httpd/conf/extra/httpd-ssl.conf 文件,注释下面的行

#SSLSessionCache    "shmcb:d:/httpd/logs/ssl_scache(512000)"

<span style="color:#FF0000;"><strong>3.安装 perl</strong></span>

下载后安装时选第三项会自动安装到 c:/perl64 ,无需做其它修改,以后加载.pl文件时,第一行指向#!c:/perl64/bin/perl.exe

http://perl.org

http://www.activestate.com/activeperl/downloads

修改 D:/httpd/conf/httpd.conf 文件,去掉下行前面的#

#LoadModule cgi_module modules/mod_cgi.so

<span style="color:#FF0000;"><strong>4.安装 php</strong></span>

 

php 有两种版本,Thread Safe(TS) 和 Non Thread Safe(NTS) , TS 用于APACHE ,NTS 用于IIS 

由于 VC11 x64 Thread Safe 需安装 x64位版本的 VC2012运行库,即VC11,在微软官方网站搜索安装。  

 

 代码如下 复制代码

http://windows.php.net/download/

http://windows.php.net/downloads/releases/php-5.6.30-Win32-VC11-x64.zip

解压到 D:/httpd/php-5.6.30 ,把 php.ini-production改名为 php.ini

修改 D:/httpd/conf/httpd.conf 文件,增加下面的行

LoadModule php5_module"D:/httpd/php-5.6.30/php5apache2_4.dll"

PHPIniDir"d:/httpd/php-5.6.30"

AddType application/x-httpd-php.php .html .htm

如果出现找不到 D:/httpd/php-5.6.30/php5apache2_4.dll 文件的提示,可能是需要的VC运行库没有安装,或者是apache和php的版本不配。

5.到此配置结束,<span style="color:#FF0000;"><strong>使用下面的命令启动服务</strong></span> 

httpd-kinstall

httpd-kstart 

单是 httpd-kstart 不能启动服务

 

php中出现Loaded Configuration File(none)的问题怎么办?本文介绍了phpinfo()中Loaded Configuration File(none)的解决方法,遇到问题的同学可以试着解决一下

前言

单独编译php7,并安装在/usr/local/php7/中,今天开发插件修改了 php.ini 的配置信息,但是什么都没生效。

排查

通过phpinfo()查看配置信息:

发现Loaded Configuration File => (none),表明没有载入php.ini文件。然而/usr/local/php7/etc/php.ini这个文件确实是存在的。

解决

用strace去跟踪一下:

strace /usr/local/php7/sbin/php-fpm -i 2>1.log

打开文件发现:

它会去找/usr/local/lib/php.ini,我也不知道为什么,我编译是有设置--with-config-file-path=/xxx/xxx。反正找到具体路径了,把php.ini拷过去就解决了。

另外我strace /usr/local/php7/bin/php -i 2>1.log发现,如果不是php-fpm而是php,它会找/usr/local/php7/bin/php.ini,原因未知。

php遇到扫描二维码下载跳转问题怎么解决。小编分享的这篇文章介绍了php解决扫描二维码下载跳转问题的教程,希望能帮助到有需要的同学

首先我们指定一个url,比如 http://it.lovepet.vip

用这个地址生成二维码,二维码的生成方式有很多种,到网上搜搜就知道。

我们可以新建一个index.php放在改网站目录下。编辑index.php加入

 代码如下 复制代码

$agent=strtolower($agent=strtolower(_SERVER['HTTP_USER_AGENT']);

$iphone=(strpos(iphone=(strpos($agent,'iphone')) ? true : false;

$ipad=(strpos($ipad=(strpos($agent,'ipad')) ? true : false;

$android=(strpos(android=(strpos($agent,'android')) ? true : false;

if($iphone||$iphone||$ipad)

{

&emsp;&emsp;echo"<script>window.location.href='https://itunes.apple.com/cn/app/wu-han-de-tie-gong-e/id663196252?mt=8'</script>";

}

if($android){

&emsp;&emsp;echo"<script>window.location.href='http://www.lewanau.com'</script>";

}

这样用手机扫描二维码的时候,就可以通过设备来跳转不同的url了。

这篇文章介绍了PHP截取中文字符串不出现?号解决办法,当PHP截取中英文混合字符串时,最后一个汉字经常被拆成两半。感兴趣的同学可以尝试一下

本文实例讲述了PHP实现截取中文字符串不出现?号的解决方法。分享给大家供大家参考,具体如下:

当PHP截取中英文混合字符串时,最后一个汉字经常被拆成两半,例:截取字符串的前18个字

 
 代码如下 复制代码
<?php
$text="1欢迎访问sina新浪播客";
$value=substr($text, 0, 18);
echo$value."<BR>";
?>
 

输出为结果为:

1欢迎访问新浪?BR>

于是写了以下这段代码,判断如果中英文混合字符串中的汉字字节数为奇数,则少截取一个字节,保证汉字显示完整。

 
 代码如下 复制代码
<?php
$text="1欢迎访问sina新浪播客";
$value=substr($text, 0, 18);
$value_length=strlen($value);
$value_count= 0;
for($i= 0;$i<$value_length;$i++)
{
  if(ord($value{$i}) > 127)
  {
    $value_count++;
  }
}
if($value_count% 2 != 0)
{
  $value=substr($text, 0,$value_length- 1);
}
echo$value."<BR>";
?>
 

输出为结果为:

 

1欢迎访问sina新浪

 

[!--infotagslink--]

相关文章