LMLPHP后院

使用LMLPHP实现简单的CURL请求POST例子技术

maybe yes 发表于 2015-08-22 10:30

不知道在哪里看到过的文字,说 PHP CURL 很强大,但是搞了这么久,不知道强大在哪。不过仔细一看,确实挺强大的,可以实现所有的 HTTP 请求,难道还不强大吗?

说实话,如果是进行简单的 GET 请求,我个人认为根本不需要 CURL,PHP 的 file_get_contents 足够方便和强大了。但是如果是 POST 并且需要上传文件,HTTPS 等复杂的请求,使用 file_get_contents 好像比较麻烦吧。只能用 curl 的方式了。

下面的例子,使用 LMLPHP 做一个简单的 CURL POST 请求,发送头部 Cookie 并 提交数据,希望给大家带来帮助。代码系 LMLPHP 控制器中的节选片段,如下:

解决 The mysql extension is deprecated and will be removed in the future技术

maybe yes 发表于 2015-07-27 15:19

PHP 5.5 默认是不支持 MySQL 扩展的,如果需要使用,可以使用 php5enmod mysql 打开。开启后使用 mysql_connect 的项目都会报错:[8192]mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in ... 。

PHP 核心开发组经过了很长时间的讨论,决定在 PHP5.5 版本后将 mysql_ 系列的函数标记为 deprecated,下面将给出如何解决这个问题的方法。

Why was mysql deprecated in PHP 5.5?

Linux Ubuntu 下配置虚拟主机并开启ReWrite教程技术

maybe yes 发表于 2015-07-26 12:44

博客经常不更新是不好的,虽然世道不兴这个,虽然微时代是信息互联网的倒退。

在 Ubuntu 下如何设置虚拟主机,如何开启 rewrite 模块,如何安装 PHP 扩展。这些事情之前我的做法,都是直接源代码编译安装,然后修改配置文件,重启服务,最后搞定。这次在 VPS 的 Ubuntu 系统上发现不一样了,应该是更方便了,Apache2 有个新的命令 a2enmod (apache 2 enable module),PHP 也有个新的命令 php5enmod ,这两个命令可以直接做到开关模块,基本不用修改配置。

进入到 Apache2 的配置目录下,查看文件夹,如下:

root@may:/etc/apache2# ls -al
total 80
drwxr-xr-x  8 root root  4096 Jul 15 01:46 .
drwxr-xr-x 87 root root  4096 Jul 17 22:20 ..
-rw-r--r--  1 root root  7222 Jul 14 03:46 apache2.conf
drwxr-xr-x  2 root root  4096 Jul 14 02:59 conf-available
drwxr-xr-x  2 root root  4096 Jul 14 02:58 conf-enabled
-rw-r--r--  1 root root  1782 Jul 20  2013 envvars
-rw-r--r--  1 root root 31063 Jul 20  2013 magic
drwxr-xr-x  2 root root  4096 Jul 15 01:57 mods-available
drwxr-xr-x  2 root root  4096 Jul 15 02:07 mods-enabled
-rw-r--r--  1 root root   315 Jul 20  2013 ports.conf
drwxr-xr-x  2 root root  4096 Jul 14 03:24 sites-available
drwxr-xr-x  2 root root  4096 Jul 26 03:38 sites-enabled

Linux下screen命令使用教程技术

maybe yes 发表于 2015-07-16 00:30

Linux 下的 screen 命令能够方便的管理桌面会话,每个会话可以包含多个屏幕。使用 screen 可以快捷的保存工作环境,比如有的任务需要执行很长时间,或者网络不稳定的情况下保存桌面环境,下次使用 SSH 登录的时候可以直接进入某个会话,直接提升工作效率。

一开始,想到使用 screen,主要是有些进程需要执行很长时间,如果连接突然断开,或者网络不稳定的情况下会话退出了,进程就会被终止。使用 screen 可以很好的解决这个问题,使得进程可以常驻后台运行。本人使用的是 Ubuntu 系统,相信其他系统也差不多一样。在 Ubuntu 下安装非常方便,直接 $ apt-get install screen 就可以搞定。

PHP 5.5 新特性关键字 yield技术

maybe yes 发表于 2015-07-07 23:39

PHP 5.5 增加了个新的关键字 yield,这个也是本人今天在看开源应用 tencent-php tsf 的源码的时候发现的,其中大量的使用到了 yield。

通俗一点的讲,yield 是 generator 发生器,配合迭代 iterator 使用。在函数迭代的某一步遇到 yield 语句时返回一个值,下次生成时从 yield 语句的地方继续运行,直到再次遇到 yield 再次返回值,这样就可以达到更好的迭代 iterate 的效果。

看官方文档上有个例子讲到了将 range() 实现为生成器,当数据量很大的时候不会消耗太多内存,代码示例如下:

<?php
function xrange($start, $limit, $step = 1) {
    if ($start < $limit) {
        if ($step <= 0) {
            throw new LogicException('Step must be +ve');
        }

        for ($i = $start; $i <= $limit; $i += $step) {
            yield $i;
        }
    } else {
        if ($step >= 0) {
            throw new LogicException('Step must be -ve');
        }

        for ($i = $start; $i >= $limit; $i += $step) {
            yield $i;
        }
    }
}
?>
2024-12-22 14:44:48 1734849888 0.015212