当使用php5自带的file_get_contents方法来获取远程文件的时候(在我的自动化测试框架中有类似调用需求),有时候会出现file_get_contents(): failed to open stream: HTTP request failed!这个警告信息。
解决的方法都是修改php.ini,把allow_url_fopen给启用,改成 allow_url_fopen = On
这样做可以解决某些人的问题,有人说在php.ini中,有这样两个选项:allow_url_fopen =on(表示可以通过url打开远程文件),user_agent="PHP"(表示通过哪种脚本访问网络,默认前面有个 " ; " 去掉即可。)重启服务器。
但是有些还是会有这个警告信息,想用完美的解决还差一步,还得设置php.ini里面的user_agent,php默认的user_agent是 PHP,我们把它改成Mozilla/4.0 (compatible; MSIE 6.0;Windows NT 5.0)来模拟浏览器就可以了,user_agent=”Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)”
#ErrorDocument 404 /404/404.html
#ErrorDocument 403 /404/403.html
Order allow,deny
Deny from all
LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule filter_module modules/mod_filter.so
Listen 443
DocumentRoot "E:\phpStudy171228\WWW"
ServerName www.wzrzys.com
ServerAlias wzrzys.com
SSLEngine on
# 添加 SSL 协议支持协议,去掉不安全的协议
SSLProtocol all -SSLv2 -SSLv3
# 修改加密套件如下
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
# 证书公钥配置
SSLCertificateFile cert/public.pem
# 证书私钥配置
SSLCertificateKeyFile cert/214400101740964.key
# 证书链配置,如果该属性开头有 '#'字符,请删除掉
SSLCertificateChainFile cert/chain.pem
Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
③、在最后添加下面4条语句,开启http强制转https,如果需要http和https都支持可不加。
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/tz.php
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R]
2、ssl.conf的配置文件需要修改的地方如下:
①、DocumentRoot “/var/www/html” (去掉注释‘#’)
②、ServerName kormee.freenat.club (去掉注释并改成自己的域名)
③、SSLEngine on
④、SSLCertificateFile /etc/httpd/conf/ssl/full_chain.pem (full_chain.pem证书文件路径)
⑤、SSLCertificateKeyFile /etc/httpd/conf/ssl/private.key(private.key证书文件路径)
-------------------------------
# General setup for the virtual host
DocumentRoot "C:/wamp64/www/houtai"//修改成自己的
ServerName www.fdsfd.com:443//修改成自己的
ServerAdmin admin@localhost.com
ErrorLog "C:/wamp64/bin/apache/apache2.4.41/logs/error.log"//修改成自己的
TransferLog "C:/wamp64/bin/apache/apache2.4.41/logs/access.log"//修改成自己的
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
SSLHonorCipherOrder on
SSLCertificateFile C:/wamp64/bin/apache/apache2.4.41/conf/ssl/0000234_fdsfd.com_public.crt//修改成自己的
SSLCertificateKeyFile C:/wamp64/bin/apache/apache2.4.41/conf/ssl/0000234_fdsfd.com.key//修改成自己的
SSLCertificateChainFile C:/wamp64/bin/apache/apache2.4.41/conf/ssl/0000234_fdsfd.com_chain.crt//修改成自己的
这个中间还有很多的代码和注释,不要随便添加和删除
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
这个时候保存文件后,重新启动apache,发现还是不能启动,不要着急,还回到这个文件中,找到SSLCertificateFile "SRVROOT/conf/server.crt",注释掉,再找到SSLCertificateKeyFile"SRVROOT/conf/server.crt",注释掉,再找到SSLCertificateKeyFile"{SRVROOT}/conf/server.key,注释掉,再找到SSLCertificateChainFile “${SRVROOT}/conf/server-ca.crt”,注释掉,要是已经注释了就不用了,这个时候保存文件,重新启动所有服务,就可以启动成功,外放也可以用https访问自己备案好的域名了。在文件中注意自己的文件路径和“/”,本人亲测,希望能帮到大家。
-----------------------------------------
2021.2.23 17:55
将日志文件按照每天生成一个
Windows系统下配置方法:
在apache的配置文件httpd.conf中找到
ErrorLog logs/error_log
CustomLog logs/access_log common
修改为:
ErrorLog "|c:/myfiles/Apache24/bin/rotatelogs.exe c:/myfiles/Apache24/logs/error_%Y_%m_%d.log 86400 480"
CustomLog "|c:/myfiles/Apache24/bin/rotatelogs.exe c:/myfiles/Apache24/logs/access_%Y_%m_%d.log 86400 480" common
oss
8d6qlDNhEC8RzbqX
GzHvcQxyNijUhb2L3YOjHmm5UROcqU
http://update2.aegis.aliyun.com/download/install/2.0/windows/AliAqsInstall.exe
实时会话“AegisFileSession”的备份文件已达到其最大大小。因此,在有可用空间之前,无法将事件记录到此会话。以实时模式启动跟踪会话,但没有任何实时使用者时,常常会导致此错误。