几个PHP路由库的简单性能测试

AltoRouter Bramus Router bephp router klein FastRoute Macaw ToroPHP

2016-06-29 ,  阅读全文
PHP通过fsock实现异步HTTP请求

参考文章: PHP实现异步调用方法研究 使用fscok实现异步调用PHP how-to-make-async-requests-in-php function asyncRequest($url, $params = array(), $type = 'GET') { $query = http_build_query($params); $parts = parse_url($url); $fp = fsockopen( $parts['host'], isset($parts['por...

2018-03-26 ,  阅读全文
PHP编码规范内部分享大纲

序言 为什么要有规范 在谷歌,我可以查看任何的代码,进入所有谷歌的代码库,我有权查看它们。事实上,这种权限是很少人能拥有的。但是,让我感到惊讶的却是,如此多的编码规范—缩进,命名,文件结构,注释风格—这一切让我出乎意料的轻松的阅读任意一段代码,并轻易的看懂它们。这让我震惊—因为我以为这些规范是微不足道的...

2016-09-07 ,  阅读全文
PHP新特性内部分享大纲

PHP 5.4 数组短标签 $arr = array(1, 2, 3); $arr = [1, 2, 3]; 函数返回值数组访问解析 function get_arr() { return [ 'a' => 1, 'b' => 2, ]; } echo get_arr()['a']; 在实例化时访问类成员 $query = new Query(); $news = $query->from('news')->all(); $news = (new Query()...

2016-06-28 ,  阅读全文
记一则被骗经历

下班走在路上,因为急着去吃点东西所以走的很快,突然被一对中年夫妇叫住,说要去嘉定但是身上没钱了,希望能借点钱。 我第一反映就是这两人是骗子,想快点走,但他们缠着我而且说的很诚恳,说了些明天十点前必定会还给我,走的累了身体又不舒服等等,还用手机给我打了电话,留了联系方式。 结果我就给了他们两百块钱,事后...

2016-06-25 ,  阅读全文
PHP使用软链部署时opcache缓存旧版本代码的坑

参考链接: http://codinghobo.com/opcache-and-symlink-based-deployments/

2016-06-23 ,  阅读全文
使用Navicat的SSH tunnel连接数据库时失败的可能原因

有可能ssh的配置文件 \etc\ssh\sshd_config 中禁用了tcp端口转发, AllowTcpForwarding yes 如果上述参数为 no ,则修改为 yes 后重启 ssh 服务即可。 参考链接: https://rzemieniecki.wordpress.com/2012/08/14/navicat-mysql-connection-error/

2016-06-20 ,  阅读全文
PHP Warning: Module 'modulename' already loaded in Unknown on line 0 产生原因及解决方法

在以 cli 模式执行 PHP 脚本时,如果发现了如下的报错: PHP Warning: Module 'modulename' already loaded in Unknown on line 0 那就说明该扩展在编译 PHP 时已经 enable 了,但是在 php.ini 中又写了动态调用该扩展的 so 文件。 这时候我们可以查看一下 phpinfo : php -i | grep 'modulename' php -i | grep 'php.ini'...

2016-06-12 ,  阅读全文
nginx使用realip模块获取用户的真实ip

我们经常会使用cdn来达到加快网站访问速度和隐藏服务器真实ip的目的,但是站点使用了cdn后程序获取到的用户ip以及nginx日志中记录的ip均会变成cdn的中转ip。不过cdn一般会实用自定义ip头来保存用户的真实ip,或者是将其放在X_FORWARDED_FOR头里,通过nginx的realip模块和这些ip头里的信息就可以获取到用户的真实ip了。 首先...

2016-06-11 ,  阅读全文
PHP中使用pcntl扩展时Mysql连接关闭的解决方案

PHP官方的手册里也记载了该问题及其解决方法:http://php.net/manual/zh/function.pcntl-fork.php#70721。 产生该问题的原因就是子进程会关闭父进程的数据库连接,所以需要在子进程中重新进行数据库连接,官方文档里给出的示例代码如下: // Create the MySQL connection $db = mysql_connect($server, $username, $passwo...

2016-06-07 ,  阅读全文