Submitted by gouki on 2014, September 3, 9:53 AM
在thinkPHP的模板中,有几个tag标签都是用来引入js和css的,比如:import/css/js/load之类的,经过测试,好象load这个Tag有BUG
比如:<load href="/assets/static/wap/css/reset.css"/>,加载一个CSS文件,这个没问题,但如果使用<load href="/assets/static/wap/css/reset.css?ver=1"/>,这种就直接失效了。
当然如果你使用<css file="xxxx?ver=1" />是有效的
看了下代码,好象在没有明确标记类型的时候,程序判断后缀名失效了。<css>标签是主动告诉import程序,我的类型是css,而load是根据代码判断的,因此,对于load应该主动加上type="css",或者,修改程序:
看划线的地方,这里应该先basename,把?或者其他带有版本的信息先去除干净才OK。
或许这是一个bug,或许,就是提示你应该主动加类型。
PHP | 评论:1
| 阅读:20526
Submitted by gouki on 2014, August 17, 12:22 AM
最近有些朋友和我说,wordpress的后台在本地打开都超慢。不知道为什么,负载什么的都没有。
看了下代码,同时也看了下网络上的评论,原来最近大家都喜欢上了使用google的字体,众所周知,google的各种服务在国内访问都是渣渣,真不知道怎么会有这样的公司,明明这个网站就打不开,还有那么多人用它的东西。当然你懂的
既然知道问题在哪里就好办了。
1、插件法
现在针对上述情况,国内开发人员已经开发了相应的插件来处理了,如disable google fonts或者其他的,你搜索google fonts就可以
2、代码法
在wp-include/script-loader.php中,你会找到font.googleapis.com的字样。你只要替换掉它们即可(当然,删除也可以),如果你有需要用这些字体,你可以用数字公司提供的前端CDN库(http://libs.useso.com/)。到了上述的网址我相信你也应该知道怎么了。
不知道何时才能打开那些网站,这些就当成技巧先保留着吧
Tags: wordpress
PHP | 评论:2
| 阅读:27703
Submitted by gouki on 2014, July 28, 11:35 PM
今天被两个问题搞死
1、加载hprose.phar/HproseHttpServer.php一直报文件找不到:Warning: include(./hprose.phar/HproseHttpServer.php): failed to open stream: No such file or directory
2、定义了Yii的errorHandler和error的Controller结果死活不对。
解决:
1、居然是忘了phar在include的时候要申明协议,即include('hprose.phar/xxx.php')是不对的。必须要include("phar://hprose.phar/xxx.php");
该死的,居然忘了这个,命令行下写代码,总是搞错东西
2、这个问题说实在的。真TMD操蛋,我是想偷懒的,所以就加载了yiit.php。。想着这是个lite的文件,应该没啥问题啊?结果,就是因为加载的yiit.php而不是yii.php搞得我在那里折腾了半天。真是要人命啊
果然就象老王说的,每一个找寻半天不得结果的BUG后面,都有一个令人啼笑皆非的原因
PHP | 评论:0
| 阅读:14976
Submitted by gouki on 2014, July 18, 8:50 AM
说起curl请求https的网站,网上的教程很多,无非都是说在你没有证书的情况下,加上下面两句就可以了
PHP代码
- <?php
- curl_setopt_array($handle, array(
- CURLOPT_SSL_VERIFYPEER => false,
- CURLOPT_SSL_VERIFYHOST => false,
-
- ));
诚然,很多人在这么处理后就OK了,但我遇到的情况不一样,这两个加上之后,还是不能访问。
于是问了vampire,他让我试了一下在命令行下加参数访问,如:curl -3 https://xxxxx.com,顺利的得到了结果,https还是有version的。于是在上述的脚本里再加上一句:
PHP代码
- CURLOPT_SSLVERSION => 3,
指定sslversion。
当然,这个值 不一定是3,只是我正好是在version为3的情况下访问正常罢了。实际情况还需实际对待。
话说回来,我在curl在访问的时候报的错是:
XML/HTML代码
- curl: (35) error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:reason(1112)
Over。
PHP | 评论:0
| 阅读:15359
Submitted by gouki on 2014, July 5, 12:04 AM
最近涉及到的项目中用到了thinkphp,我都N年没有碰过这玩意了。但现在还是需要用一用。正好那些能够下载得到的wxcms也可以用这个来优化一下性能。。其实我就一台服务器。装逼而已
于是转一下别人的文章,因为他其中特别写了一句:只要是exec就一定从主库走,query一定从从库走。所以建议query中不要有实际的更新和插入操作。以防万一
原文地址:http://www.verydemo.com/demo_c327_i782.html
前言:
Thinkphp 框架本身是支持读写分离的,如何做呢?
最简单的做法是在配置文件中修改:
PHP代码
- 'DB_TYPE'=> 'mysql',
- 'DB_DEPLOY_TYPE' => 1,
- 'DB_RW_SEPARATE'=>true,
- 'DB_HOST'=> '192.168.100.78,192.168.100.60',
- 'DB_NAME'=>'test',
- 'DB_USER'=>'root',
- 'DB_PWD'=>'root',
- 'DB_PREFIX' => 'fav_',
默认第一台数据库78是主数据库,负责写入操作,第二台60负责读操作,Thinkphp 会自动识别读和写,然后分配链接对应的数据库,来达到读写分离的效果。
注意事项:
1. 如果要设置分布式数据库,暂时不支持DB_DSN方式配置。
2.如果你当前采用了分布式数据库,并且设置了读写分离的话,query方法始终是在读服务器执行,因此query方法对应的都是读操作,而不管你的SQL语句是什么。
3.如果你当前采用了分布式数据库,并且设置了读写分离的话,execute方法始终是在写服务器执行,因此execute方法对应的都是写操作,而不管你的SQL语句是什么。
因此,'DB_DSN'=> 'mysql:host=192.168.100.60;dbname=51fanli_cang', 这种方式不支持主从分离,需要改。
当采用原生态的sql语句进行写入操作的时候,要用execute,读操作要用query,切记,否则乱掉了。
搞定!
---EOF---
Tags: thinkphp
PHP | 评论:0
| 阅读:22380