最近项目很多,就没什么时间更新博客。在碰到同一个问题的时候,时隔一个月居然先后求教搜索引擎两次,比如本文标题的这个问题。其实在第一次解决后,做个笔记,第二次再碰到就可以直接解决,而不用再到处找答案了。所以,还是记录一下这个问题的解决吧。
这个问题是我修改主机上一个网站的域名绑定的时候碰到的。在改了LNMP的vhost配置文件和网站路径、域名解析也完成后,用新的域名访问网站,就出现了这样的open_basedir报错:
查看详细
最近项目很多,就没什么时间更新博客。在碰到同一个问题的时候,时隔一个月居然先后求教搜索引擎两次,比如本文标题的这个问题。其实在第一次解决后,做个笔记,第二次再碰到就可以直接解决,而不用再到处找答案了。所以,还是记录一下这个问题的解决吧。
这个问题是我修改主机上一个网站的域名绑定的时候碰到的。在改了LNMP的vhost配置文件和网站路径、域名解析也完成后,用新的域名访问网站,就出现了这样的open_basedir报错:
查看详细
现在二维码的应用已经很普及了,在我们的每个网站上都可以看见,比如右下角的当前页二维码。一般我们用qrserver.com的在线生成器就能轻松在页面上实现任何文本的二维码,不过有时候qrserver.com服务器响应会变慢,甚至当掉,这样二维码就显示不出来了。而且使用qrserver.com这个资源的人越来越多,服务器压力的增加使得它的可靠性正在变低,是时候找一些替代方案了。于是我尝试了WordPress后台能搜到的几款人气看上去不错的二维码插件,做一下总结。
后台搜索关键词:QR Code
和关键词同名的插件,自然是牌第一了,激活量不错。使用
[qrcode url="http://abc.com" margin="10" size="100" before="QR Code" after="QR Code"]
这样的短代码在任何地方生成二维码。不过这款插件本身就是qrserver.com接口生成二维码的,因此没有任何可靠性的增加,果断放弃。 查看详细
这两天用LNMP1.2安装了一台阿里云主机,照着以前安装LNMP1.1的步骤按部就班的安装下来,大致顺利,但也碰到了个新的问题,装完Pureftpd后,发现无法用web方法登陆了。打开http://[ip]/ftp目录可以访问到登陆界面,但输入正确的密码后页面就停止响应,有时候给出502报错,有时候干脆什么也不显示。最后搜索到解决方法:
在web目录中新建一个.user.ini文件
vi /home/wwwroot/default/ftp/.user.ini
然后加入一行代码:
open_basedir=/home/wwwroot/default:/tmp/:/proc/:/etc/
保存后,即可正常登陆Web管理界面了。
这个问题似乎是最近才爆出来的,一位客户反映某个基于WPML实现的双语的网站上,英语版列表页面的分页不起作用了,点击第二页会跳转到网站首页。检查后发现问题锁定在自定义文章类型的分页上,并且只发生在英语版;网站默认语言中文版则无此问题。这个网站在英语版的URL上加了Query String-“lang=en”,而WP-PageNavi把分页链接变成了这样“http://xxx.com?lang=en/category/greece/page/2”
记得网站刚开发完的时候,当时版本的WPML和WP-PageNavi配合还不错,是没这个问题的,也不知道是其中哪个插件更新后造成了这个兼容问题,已无从追查,看来只能自己动手解决了。我的解决方法比较粗暴,主要是没本事也不愿从插件内部找问题,直接在前端修改这串Query String的位置即可,此JS代码放在调用了wp_pagenavi函数的页面底部,也可以偷懒直接放在footer.php:
1 2 3 4 5 6 7 8 9 | $(function(){ $(".wp-pagenavi a").each(function(){ tempvelue = $(this).attr("href"); if( tempvelue.indexOf("?lang=en")>0 ){ tempvelue = tempvelue.replace("?lang=en","") + "?lang=en"; $(this).attr("href",tempvelue); } }); }); |
这个问题也可能发生在其他带URL带Query String的页面上,修改以上代码都可以解决。所以感觉更可能是WP-PageNavi的问题,希望以后的更新能解决。
如果有哪位高人知道在PHP层的解决方法,还请赐教。
元旦过后又长一岁,然而活到老学到老这个道理是不变的。这几天把手上一部分WordPress网站升级到最新版4.4,就学到新东西了。发现4.4版给所有在文章内容区的图片都加上了两个属性:srcset和sizes。比如:
这俩个属性的作用是为不同显示尺寸加载不同的图片源,这样就能在图片本身做到“响应式”,而不仅仅是跟随屏幕尺寸了。 查看详细
如果你正在进行基于WordPress的网站开发,Query Monitor这款插件会对你起到很大的帮助。顾名思义,Query Monitor提供了一系列查询监控,可以在WordPress前台/后台任何一个页面给出当前页的数据库查询次数、耗费时间等详细数据,对优化项目提供一定的参数依据。
安装插件后,以管理员身份登录网站,页面顶部菜单会多出一组数据(如图)
查看详细
今天在一个图库项目中发现无论在FTP里上传多少个文件,每个文件夹最多只能列出1998个文件,其余的则全部“消失”。上服务器查看还好文件都在,于是猜想应该是FTP设置的问题。Google了一下很快找到解决方法,记录一下。
查看详细
如果要给一篇长文章进行分页,我们只要在需要分页的地方加上<!–nextpage–>这样的标签即可。WordPress的文章页面只要有wp_link_pages这个函数,就会在调用函数的地方增加分页符,就像这样:
图中我已对数字链接的样式做了美化,给数字加了灰色边框,但我没有办法对数字1做任何修饰,因为这个当前页码没有任何HTML标签包裹,无法对此修改样式。
这段代码可以解决这个问题: 查看详细
这个问题主要发生在iOS的浏览器上,他们有时候会有一些“自作聪明”,自动把页面上的一串数字识别成电话号码,这样用户不小心点击这串数字,就拨号了。所以我们习惯给那些要在手机上访问的响应式页面增加一串meta标签,以阻止移动端浏览器的这些自动行为。
1 2 3 4 | <meta name="format-detection" content="telephone=no" /> <meta name="format-detection" content="email=no" /> <meta name="format-detection" content="address=no" /> <meta name="format-detection" content="date=no" /> |
其实之所以iOS的浏览器会自动识别页面上的数字为电话号码,就是因为它默认的format-detection中有一条telephone=yes。人为把它设置成no就阻止了这个功能。那么在我们需要真的实现点击链接播电话的时候,只要在link上用标准的“tel:”写法就可以了:
1 | <a href="tel:8602188888888">+86 021 88888888</a> |
从2013年开始,各家主机供应商都推出了云主机服务。什么是云主机?简单来说就是一台你“看不见,摸得着”的主机。“看不见”指如果你跑去机房,你是找不到自己的那台实体主机的。“摸得着”指你可以像登录实体主机一样远程登录你的云主机,并且进行几乎任何实体主机一样的操作。而最最重要的,是云主机的费用一般只有实体主机的10%。而且你完全不用担心云主机的性能问题,和实体主机一样,用程序探针可以看到自己主机的配置,不用担心主机商骗你。
那么问题是,现在网络上的云主机供应商已经多如牛毛,我要怎么选?
各家都会找一些枪手,写一些软文,发一些广告,究竟孰优孰劣,和我一样,你也一定迷惑过。 查看详细