代码如下 | 复制代码 |
<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) {   echo"<script>window.location.href='https://itunes.apple.com/cn/app/wu-han-de-tie-gong-e/id663196252?mt=8'</script>"; } if($android){   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>";
?>
|
输出为结果为:
于是写了以下这段代码,判断如果中英文混合字符串中的汉字字节数为奇数,则少截取一个字节,保证汉字显示完整。
代码如下 | 复制代码 |
<?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>";
?>
|
输出为结果为: