手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表分类:PHP

BAE的坑

 自从GAE出来后。什么SAE,ACE,BAE什么什么的就全部出来了

ACE我跑几个程序一直有问题,禁用了一些函数,所以我最近在看BAE。速度也不错,也能绑域名。所以它就成了首选。但BAE有一个坑 需要注意
 
如果你的程序的上传没有改过。那么一般都是上传在自己当前的项目目录里,而这个目录由于没有经过svn上传,所以它并不在版本库里,因此,一旦碰到BAE来一个svn迁移的事件。或者更新的时候,极有可能你上传的那些附件会全部丢失。
 
慎重。我就觉得BAE就象一个实验室。我们上传代码到BAE的svn库里。然后svn库会自动 checkout到BAE的平台。于是。。如果他们要迁移了。这些数据应该都是直接delete。然后再checkout一份。
 
建议找个程序,上传到BAE自带的存储中(就象sae的存储)。

Tags: bae

转:2011-10-12 PHP重用curl句柄, CURLOPT_HTTPGET的BUG

转的文章。主要是因为经常会用curl来抓取数据。而且几乎是http_get和http_post混用。但我没遇上这个BUG。不清楚以后会不会遇上,所以我先记录一下,以防万一遇到时候不知道怎么做。

原文地址来自:http://www.ideawu.net/blog/archives/622.html

重用一个CURL句柄时, 发现curl_setopt($ch, CURLOPT_HTTPGET, TRUE) 不起作用. 期望在调用这条语句之后发起请求, 应该发送的是GET, 但看服务器log, 却使用了和前一次请求相同的HTTP方法.

PHP脚本:

<?php $url = 'http://www.ideawu.net/';  $ch = curl_init($url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_exec($ch);  curl_setopt($ch, CURLOPT_HTTPGET, true); // 错误! BUG curl_exec($ch);  curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); // 正确 curl_exec($ch); ?>

web server log:

124.127.130.50 "2011-10-12 18:55:09" "POST / HTTP/1.1" 200 3516 "-" www.ideawu.net 124.127.130.50 "2011-10-12 18:55:09" "POST / HTTP/1.1" 200 3516 "-" www.ideawu.net 124.127.130.50 "2011-10-12 18:55:09" "GET / HTTP/1.1" 200 3516 "-" www.ideawu.net

这个BUG目前还没找到相关的资料.

补充: 不仅仅是CURLOPT_HTTPGET, CURLOPT_POST也有同样的问题. 所以, 结论是: 只有CURLOPT_CUSTOMREQUEST才是正确的方法.

 

Tags: curl

开始要关注性能了

 不得不说,我现在要开始关注性能和稳定性了

最近检查命令行下程序的输出,发现最后退出的LOG大多数是allow memory ....的问题,固然这个命令行下面内存释放有问题有关,但主动释放还是必要的。
毕竟web页在处理完当前请求后,还能够被回收掉一点。php-fpm之类的,还能帮忙,但命令行,它就没有断开过,一直在运行,因此,需要注意一下释放了
 
或者在无法释放的时候,自己设置一个临界点。到临界点的时候自我重启一下也OK。
 
逐步开始研究下

完成两个小工具

 今天完成了两个小工具
1、靖江日报电子版的提取

2、上海交通违章的自动查询
 
靖江日报电子版的难点不多,很快就解决了,基本上也就半小时
上海交通违章的查询就有点麻烦了
1、验证码是bmp的。。
2、验证码的提交经常失败
3、post的时候,模拟数据用的是utf-8,死活不对。。
 
解决这三个问题,剩下的就是一些细节了。
 
---
其实这两天还做了很多小玩意
1、淘宝商品的获取和商品详情的取得
2、上述功能的自动更新和批量处理
3、不足:不知道淘宝客的点击怎么生成(目前我没有isv权限,如果说用接口的,请绕路)
4、测试了阿里妈妈的jssdk,但无法跳转(点击的时候是可以生成s.click的url,但没法入库,很纠结)
5、暂时没有办法生成阿里妈妈后台的:单品自定义链接(用flash的,我一下子不会生成),不过应该很快了。。。

将typecho移植到bae

发现一个问题,BAE可以直接用$_FILES变量,所以相对来说,移值到BAE上面的项目其实就只不过将数据库的配置改一下罢了。在正常情况下,因为没有办法使用install.php(主要是因为大部分的安装文件 都不允许你在form表单里输入常量,而只能是一个字符串)。

OK,下载原版的typecho ,然后在本地安装一下。将config.inc.php中的数据库配置调整一下。改为线上配置

同时将你的mysql导出,到线上去的phpmyadmin里执行一下。

整个世界就清静多了。

如果你觉得我说的太简单,或者你觉得太麻烦,不想先在本地安装,你可以参考这个:http://mrasong.com/item/typecho-for-bae.html,注意文章的最后有一段不要忘了,就是它的密码。。。。。否则你会发现你没办法登录。

---
BAE有另一个很严重的问题,那就是我之前说的$_FILES可以直接使用,同时可以直接将文件上传在项目目录下,但这部分代码是不受控制的。很让人麻烦。

typecho也能够在线修改模版文件 ,即这些修改的文件,又不在代码控制的范围了。。。
---有时候我不知道BAE究竟是什么,只是一个虚拟空间吗?或许我这样理解,就不会有感慨 了。。

Tags: typecho, bae