【故障问题】:
thinkphp框架开发过程中或生产环境中,出现以下报错,并且success和error无返回的情况
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

【排查发现】:

√因为文件编码而出现的故障 默认文件编码应为无bom+的utf8编码格式,不知道是用了什么编辑器打开,保存的时候就默认变成了带+bom utf-8的编码格式 所以json解析的时候会带bom的如空格等返回,就不是纯粹的json,所以报错json解析错误。

【修正解决】

使用Editplus,另存为,将带bom的编码改为utf8即可,见下图
47.png

【editplus破解版下载】
https://pan.baidu.com/s/1AGpGN3HdRXslHtc5uuQgCw (链接失效,请联系#395617441#企鹅邮箱)

/etc/init.d/httpd restart #重启
/etc/init.d/httpd stop #停止
/etc/init.d/httpd start #开启

1、申请免费的ssl
目前可以免费申请的ssl证书的有以下的服务商
A、腾讯云 (TrustAsia Technologies, Inc.) 可免费一年 (具体看官网的ssl产品)
B、阿里云 DigiCert Inc(具体看官网的ssl产品)
C、Let's Encrypt(免费3个月,可自动续期)

申请成功后,会得到以下这种文件
范例1:阿里云forapache
58.jpg
范例2:腾讯云for all(apache Nginx iis)
40.jpg

2、下面是Apache配置教程

2-1 apache conf 下创建ssl目录及站点目录用于存放证书某站点或域名的证书文件,比如D:/Apache/conf/ssl/kinmor-com

2-2 将以上注册成功后的证书文件上传到该目录下:
举例如:
D:/Apache/conf/ssl/kinmor-com/1_root_bundle.crt
D:/Apache/conf/ssl/kinmor-com/2_www.kinmor.com.crt
D:/Apache/conf/ssl/kinmor-com/3_www.kinmor.com.key

2-3 配置apache的http.conf,
A、把LoadModule ssl_module modules/mod_ssl.so前面的#注释去掉————启用ssl
B、把Include conf/extra/httpd-vhosts.conf前面的#注释也去掉————启用虚拟目录域名绑定。
C、在Include conf/extra/httpd-ssl.conf的位置,默认是带#注释的,为不影响使用,我另外创建一个vhostssl.conf文件放在apache/conf/extra/下,保存。看下图:68.jpg

2-4 将以下代码贴到vhostssl.conf文件,具体的路径要进行修改,换成您的位置,保存

Listen 443
<VirtualHost *:443>
    DocumentRoot "D:\www\www.kinmor.com"
    ServerName www.kinmor.com
    ServerAlias www.kinmor.com
SSLEngine on
SSLProtocol TLSv1 TLSv1.1 TLSv1.2
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCertificateFile  "D:\Apache\conf\ssl\kinmor-com\public.pem" 
SSLCertificateKeyFile "D:\Apache\conf\ssl\kinmor-com\214272553820512.key"
SSLCertificateChainFile "D:\Apache\conf\ssl\kinmor-com\chain.pem"
  <Directory "D:\www\www.kinmor.com">
      Options FollowSymLinks ExecCGI
      AllowOverride All
      Order allow,deny
      Allow from all
      Require all granted
  </Directory>
</VirtualHost>

说明:我的项目路径为D:wwwwww.kinmor.com\

2-5 重启Apache

3、测试.

浏览器输入:https://www.kinmor.com 看到下面表示测试成功。
788.jpg

4、重定向 http:\ ☞ https:\
在.htaccess文件中添加以下内容

RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

下面粘贴thinkcmf下的.htacess文件

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]
</IfModule>