标题: 最近遇到的奇怪的系统和php小坑

时间: 2014-09-15 18:47:13

正文:

看到 rubymotion 势头正旺, 又查了下 ruby 做 android 的 ruboto 有新进展, 就尝试去安装玩玩。官方介绍倒简单, 可惜一开始 64 位系统下错误安装了 32 位的软件, 提示比较莫名其妙: "No such file or directory" , 实际看对应的文件明明是存在的。

vagrant@ubuntu-14:~$ ls -lhat /home/vagrant/android-sdk-linux/platform-tools/adb 
-rwxrwxrwx 1 root root 1.3M Sep  6 20:10 /home/vagrant/android-sdk-linux/platform-tools/adb
vagrant@ubuntu-14:~$ /home/vagrant/android-sdk-linux/platform-tools/adb 
-bash: /home/vagrant/android-sdk-linux/platform-tools/adb: No such file or directory

抱着侥幸心理去搜索了下, 才发现是有解的: http://stackoverflow.com/questions/23182765/how-to-install-ia32-libs-in-ubuntu-14-04-lts

用这个 sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6 以后可以了, 不建议在 64 位系统上玩 32 位程序。

        转载请注明出处 http://blog.hickwu.com/posts/331 by Hick

下面这俩不一定每个 php 版本都会有, 我是在 ubuntu 12 中默认的 php 5.3.10 中遇到的, 有尝试给官方提 bug , 选版本的时候提示早期版本 "upgrade first", 那就算了, 这个版本不支持了我还是能用就不升级先了。

var_export 输出 mysqli 连接可能会输出 null, 在 windows 下的 php 5.4 中出现这样的情况, var_dump 和 print_r 都算正常。

curl 这个比较坑, 简单来说, 是 https 的 url , 去 curl_setopt 参数 CURLOPT_POSTFIELDS 的时候不允许 array 方式传递 post 参数, 只能以 QUERY_STRING 的方式。 但是 http 协议的可以走 array 参数。

curl 走 post 方式提交数据的时候, 因为我并没有支持 https 的 server , 正式跟微信对接之前, 我都是走 http 方式提交到我的调试 url 上校验提交的 post 数据正确的。以为除了 SSL 的参数, POST 这种应该不会有什么差别嘛。 结果下面的代码(摘要)死活不行, 微信接口对接方说没收到任何数据. 我只好把 post 的数据生成 html 表单验证了下, 提交过去真没问题, 说明还是我用 php curl 提交 https 的问题----提交http方式的肯定是没问题了。

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
// https support
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 
// POST 
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $query_str);
// no post data will transform to server for this
//curl_setopt($ch, CURLOPT_POSTFIELDS, $query_arr);
$get_content = curl_exec($ch); 

查看更多文章
分享到:


分享到: