使用LMLPHP实现简单的CURL请求POST例子技术
不知道在哪里看到过的文字,说 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技术
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教程技术
博客经常不更新是不好的,虽然世道不兴这个,虽然微时代是信息互联网的倒退。
在 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命令使用教程技术
Linux 下的 screen 命令能够方便的管理桌面会话,每个会话可以包含多个屏幕。使用 screen 可以快捷的保存工作环境,比如有的任务需要执行很长时间,或者网络不稳定的情况下保存桌面环境,下次使用 SSH 登录的时候可以直接进入某个会话,直接提升工作效率。
一开始,想到使用 screen,主要是有些进程需要执行很长时间,如果连接突然断开,或者网络不稳定的情况下会话退出了,进程就会被终止。使用 screen 可以很好的解决这个问题,使得进程可以常驻后台运行。本人使用的是 Ubuntu 系统,相信其他系统也差不多一样。在 Ubuntu 下安装非常方便,直接 $ apt-get install screen 就可以搞定。
PHP 5.5 新特性关键字 yield技术
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; } } } ?>