月度归档:2014年09月

PHP 中mysql_ping 函数小坑

官方文档是这样介绍的:

mysql_ping() 检查到服务器的连接是否正常。如果断开,则自动尝试连接。本函数可用于空闲很久的脚本来检查服务器是否关闭了连接,如果有必要则重新连接上。如果到服务器的连接可用则 mysql_ping() 返回 TRUE,否则返回 FALSE。

看一眼可能会以为mysql_ping 就两个返回值(TRUE | FALSE),但是实际情况是还有第三个返回值。这个问题官方文档下方是有人评论的,而且是在七年前:(

//When checking if a $resource works...
//be prepared that mysql_ping returns NULL as long as $resource is no correct mysql resource.
$resource =NULL;
var_dump = @mysql_ping($resource);
# showing NULL
//This could be used to decide of a current $resource is a mysql or a mysqli connection when //nothing else is available to do that...

越来越觉着PHP是个玩具型的东西。。。

Nginx 泛域名配置

泛域名的应用比较广泛,比如实现二级域名的无限支持、免费的URL转发等。在开发中,如果团队中多个成员须测试同一套代码,那么就会出现彼此覆盖冲突的问题。这个时候就可以用泛域名将不同的域名指向到不同的目录,这样就不会彼此干扰了。

相关配置如下

server
{
set $domain /data1/apache/share/htdocs/test;
if ($http_host ~* "^(.*)\.test\.com$")
{
set $domain $1;
}
root /usr/home/$domain/test;
}

这样A开发可以用a.test.com , B开可以用b.test.com 。

–done–