下面的文字来自于aliyun的帮助文件,原文地址:http://help.aliyun.com/knowledge_detail.htm?spm=5176.7114037.1996646101.3.7IHA8N&categoryId=8314844&knowledgeId=5974196&pos=2。
Submitted by gouki on 2015, April 22, 10:32 PM
下面的文字来自于aliyun的帮助文件,原文地址:http://help.aliyun.com/knowledge_detail.htm?spm=5176.7114037.1996646101.3.7IHA8N&categoryId=8314844&knowledgeId=5974196&pos=2。
Submitted by gouki on 2015, April 22, 12:39 AM
因为安装gogs遇到了一些奇怪的问题,所以我不得不尝试换个方式,于是我想,我是不是可以用apt来安装 ,毕竟官方在这一页有说明:http://gogs.io/docs/installation/install_from_packages.html,于是我到 https://packager.io/gh/pkgr/gogs/install?bid=190#debian-7-gogs 进行了查看,按照上面写的进行操作:
执行到第三步就报错了:
这,这搞什么?google了一下,原来有这个问题的人很多,但也很好解决,先把刚才的gogs.list中的内容注释掉,运行一下:
然后就OK了。上面的帮助内容来自:http://unix.stackexchange.com/questions/166917/etc-apt-sources-list-wont-accept-urls-with-https-connection,我还以为是stackfollow呢。结果居然不是。。。
Submitted by gouki on 2015, March 12, 10:36 PM
出现标题这样的错误大概是:
1、模块加载了两次,所以php -i|grep Configure,看一下配置文件和配置include的目录,对于这些文件中是否有同名的module
2、动态加载模块时,模块的目录下与php.ini中都有一个同名so
知道上述的问题就好办了,先看php配置文件和include目录下的文件,先整理内容。然后查看extension_dir,看看这个目录下的文件与include中的文件引用路径是否一致。
Submitted by gouki on 2015, March 12, 10:31 PM
在MAC上面,为了减少配置PHP的环境所花的时间,所以就偷懒用了MAMP,但是,偶尔也会出现连接不上的情况。这时候怎么解?
1、检查是否装了组件
php -m |grep mysql
如果返回有mysql,证明至少命令行的组件没问题
2、检查数据 库是否正常
ps aux|grep mysql
因为都是默认的MAMP的PHP,所以这一点是没有问题的,只有MYSQL进程,就问题不大了。
3、检查默认的PHP参数配置,看是怎么连接的,是mysql.sock?还是其他?
php -i|grep mysql
看一下默认配置和你自己的配置,比如我就是/tmp/mysql.sock
那就检查 一下/tmp目录下是否有mysql.sock文件。如果没有ln -s一下:cd /tmp && ln -s /Applications/MAMP/tmp/mysql/mysql.sock
于是,一切就全解决了!
Submitted by gouki on 2015, March 6, 2:19 PM
看到andot的hprose中有使用array_key_exists,就想问为什么不用isset,再一想哦。isset不能判断$a['xxx'] = null的情况。这时候看了一下评论,有人建议用isset() || array_key_exists来辅助判断,说是性能有大提升。
于是写了点代码测试,果然:
基本上,在$a['x'] 不是null的情况下,性能提升4倍左右 ,如果该值是null,这损耗可以接受。
数组长度是999900,循环100000次
所以以后代码还是 isset($a[$key])||array_key_exists($key,$a) 比较好。
当然,如果你平时处理isset($_GET['xxx'])的时候,不需要用array_key_exists的,因为URL中都是string