分类 教程 下的文章

一般如果做Google Adsense,需要验证网站,那么一般是在HTML代码里加Meta标签,或者在根目录下,加一个html文件验证。

验证的时候,要放在root directory,啥意思呢?比如,Laravel框架,要放在public里,Yii2框架要放在web里。

总之,是index.php所在的目录。

验证完毕后,这个html文件不要删了,因为Google还会时不时回头再查看一下。否则没有的话,就会导致网站重新回到未验证状态。

折腾了2个多小时,已经可以用了,虽然还是有点小问题,但已经可以用了,毕竟我的目的不是折腾这个,而是被迫搭建本地HTTPS来测试geolocation api

网上教程很多,尤其是xampp自带的那个makecert,但我本地死活搞不定,各种报错。后来是用cygwin这个神器解决了。

具体情况如下:

大前提:要把php.ini里的openssl选项给开了。当然,肯定还有其他东西也要开,这个就下次再说吧,因为我在设置这个ssl的时候,很多选项已经开了。

首先,如果你写代码调用geolocation这个api,会失败的,因为本地不是https环境,chrome console里给出一个链接。但这个链接里,我只用了2行代码,就是生成ssl证书的代码,在cygwin里生成。

https://mail.mozilla.org/pipermail/web-vr-discuss/2016-July/001272.html

openssl genrsa -out server.key 2048
openssl req -new -x509 -sha256 -key server.key -out server.pem -days 365

注意,这里生成的是server.pem,但是呢,其他教程都用server.crt,这俩就算作是一个意思吧,都是证书。

其次,在apache vhost里设置如下:

<VirtualHost *:80>
    ##ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "D:\xamppwww\www\cardio\public"
    ServerName cardio.com
    ServerAlias www.cardio.com

    RewriteEngine On
    RewriteRule ^/(.*)$ https://cardio.com/$1 [R=301,L]
    ##ErrorLog "logs/dummy-host.example.com-error.log"
    ##CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:443>
    DocumentRoot "D:\xamppwww\www\cardio\public"
    ServerName cardio.com

    SSLEngine on
    SSLCertificateFile "D:\xampp\apache\conf\ssl\server.pem"
    SSLCertificateKeyFile "D:\xampp\apache\conf\ssl\server.key"
</VirtualHost>

这是加了强制跳转的,http强制跳转到https。

第三,要把自签的ssl证书条件到chrome信任列表里,这个要用到chrome settings里的manage certificate这个选项,把server.pem添加到信任列表里,还要在证书目的里再勾选一个客户端验证什么的,总之,就不报错了。
至于chrome仍然显示not secure,那也没懒得管了,因为geolocation api可以成功调用了。

Microsoft Edge浏览器加了就好了没这么多幺蛾子。

  • This is PascalCase: SomeVariableName
  • This is camelCase: someVariableName
  • This is snake_case: some_variable_name
  • This is kebab-case: some-variable-name

最近Apache服务器不能加载某些资源,是个CORS问题,就是跨域。报错如下:

Access to Font at 'http://nanny.com/fonts/fontawesome-webfont.ttf?v=4.6.1' from origin 'http://www.nanny.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www.nanny.com' is therefore not allowed access.

这可能是Apache的配置问题,也可能是Yii2 controller的问题。

网上说很多人说在.htaccess文件中加一句Header set Access-Control-Allow-Origin "*"即可,加了,没用。

- 阅读剩余部分 -

接手了一个半截子工程,上一任程序员突然失踪三个月,然后我来接手。

我想说,怪不得程序员都掉头发呢,怪不得程序员都脾气好呢,妈的,经过这样的折磨之后,谁还有火气呢?

都快气晕了,一个用户能有3个不同的名字,角色叫做seeker,然后再Model层是family,然后在controller叫做parent。
存在大量PHP5的写法,用已经弃用多年的方法直接连接数据库
此外,网站部署在一个共享主机里,拿不到root权限,也就拿不到代码,后来不知道怎么回事,有一个备份的,但各种错误,或者用@把错误给隐藏起来。

最初一段时间,就是解决各种error,然后为了了解这个代码的逻辑,就用到一招:打断点。

2018年6月16日更新
我们最近一段时间的关键词是解耦。以我俩目前的架构水平,设计一个高水平的架构还是不可能的,毕竟没经验,所以呢,就先做一件事:解耦
也就是说,先不管代码是否重复,目前只管把各个功能给拆开,做到改动一处功能,不会影响到其他地方,各个功能相互之间要尽可能独立。
等到把所有功能都拆开了,有机会、有能力了再重新组合。

2018年6月8日更新
2周以来,我们做了大量的工作,首先修复了不少error,并且鉴定出不少bug,并且一一修复。
在整个过程中,我们对于删除老代码很谨慎,一般不会动老代码。
所以我们做了大量的workaround,或者是bypass
现在运行的还是有些许问题,但已经基本运行稳定,可以用来做业务了。