在一个已经安装了PHP/Apache的服务器上安装mysql4.1之后,运行phpmyadmin,提示“无法载入 mysql 扩展,<br />请检查 PHP 配置”,在ssh下执行php,出现错误为:

PHP Warning:  Unknown(): Unable to load dynamic library '/usr/lib/php4/mysql.so' - libmysqlclient.so.10: cannot open shared object file: No such file or directory in Unknown on line 0

不解,搜索系统中的mysqlclient,可以找到安装了libmysqlclient.so.14。怀疑原因可能1)安装mysql的时候所安装的client包没有被php的mysql模块找到或者2)兼容问题(没那么巧吧)。

关于问题一,感觉可能性不大,lib“一般”都向下兼容,安装模式也应该是协议好的,之前从来没有遇到过这样的情况,可能性不大。
关于问题二,鉴于mysql老干这种事情,动不动就该方法,于是去下载页面,果然看到一个叫“MySQL-shared-compat-4.1.22-0.rhel3.i386.rpm”的包,卸载原来的“MySQL-shared-standard-4.1.22-0.rhel3.i386.rpm”后,顺利安装成功。然后就好了。XD

技术原因后来在这里找到。

思路比较粗糙,但是鉴于这个问题网上遇到的也不少,但是好像都没解决的,所以在这里记录一下。




Powered by ScribeFire.

通过发送http实现,假设$filesize代表文件大小,$filename代表文件名,文件内容为filecontent

header("Content-type: application/octet-stream");   //文件类型的mimetype
header("Accept-Ranges: bytes");          //如果不需要显示文件尺寸可省略
header("Accept-Length: ".
$filesize);     //同上
header("Content-Disposition: attachment; filename=" . $filename);
echo $filecontent;

这样就可以隐藏文件的实际路径,比如保存在数据库中的文件等。


Zend Framework是一套高质量的开源framework,用来面向Web应用和WebService的开发.

基于PHP的精神,Zend Framework实现了易于使用和功能强大的特点,提供了先进、强壮和安全的网站开发解决方案。

ZF需要PHP5.0.4以上的运行环境,所以这里很好的和PEAR进行了区分,但是从长远来说,和PEAR还是很重叠,如果要分析定位,可能PEAR会面向一般的应用,所以吸引大量的开发,由于发行很早,代码比较老,跟不上时代的潮流:D;ZF则更注重于强壮安全的应用,属于官方的一个产品,充分使用了PHP5的新特性,提高的代码质量。

关于PEAR和ZF 的讨论