标签:"PHP"

为php安装pecl http扩展遇到undefined symbol问题

用源码编译的pecl http扩展,若报undefined symbol:php_iconv_string或相似的iconv库符号找不到,那么需要保证http.so的加载在iconv.so之后,方法有二:

在php.ini中,保证extension=http.so在extension=iconv.so之后
在php.d目录中,将http.ini重命名为z_http.ini(php在读取配置文件时,按文件名字母顺序读取)


用yum安装的pecl http扩展,若报Undefined symbol:output_globals一般是http.so的编译版本与当前php版本不兼容

将zend session 存储在数据库中

zend session 存储在数据库中:不用像网上说的那样 php.ini 中要 session.save_handler = user
关键是Zend_Session::start()执行的地方应该在 $app->bootstrap()之后 $app->run()之前(session resource 在

php的三重des加密

最近要做一个加密解密程序,发现php的3DES加密结果和java c#不一致。。。
谷歌一番,发现如下:
由于PHP使用mcrypt扩展进行3DES加密,填充模式是跟JAVA以及.NET是不一样的,JAVA和.NET填充模式使用的是PKCS7。
所以PHP端必须自定义一个函数对加密字符串进行PKCS7模式补位填充。
另外一点就是双方的KEY注意进行base64编码,最后PHP端经过3DES加密后得到的结果也需要进行base64编码。
以上几点都做好之后,加密结果就一致了。