`
ihuashao
  • 浏览: 4544473 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

如何在虚拟主机上安装PHP的PEAR

阅读更多
我 的Iceblog从2005年春天开始,做做停停,总算能够显示出来了,前台的很多功能还没来得及做,不过后台基本上做好了。于是买了一个一百元/年的虚 拟主机,准备把程序放上去。PHP开发,一直以来我都是用PEAR+Smarty的,而且我的blog是UTF8编码的,所以对双字节文字的处理使用了 mbstring模块。本来我以为把程序上载上去,数据做一下import,就万事ok了,其实还是太大意了……

我本机的开发环境是apache2+php5+mysql; 虚拟主机是IIS6+php4+mysql; 貌似没什么,买空间之前我只确认了gd2模块是否已经安装了,因为我的blog程序的登录部分用到了图形验证。忘记问mbstring的事情了,以为是默 认安装的…… 其实也就是我能用上这个小日本发明的垃圾function,因为我在以前的项目中被日本人要求用过…… 处理UTF8的中文还就必须用这个,否则字符串处理直接乱码给你看。不过跟虚拟主机提供商交涉了一下,那个哥们比较好说话,按照我告诉他的在 php.ini里头把extension中的dll加载了。不过PEAR就完全没有办法,主机上安装的PHP4不知道是什么发布版本,根本不带PEAR, 我也不知道怎么跟他说安装的方法,因为的确比较麻烦,需要从pear.php.net下载之后copy到php安装目录,然后运行go- pear.bat,然后用pear -install DB的命令从Internet上安装DB package,然后在php.ini中加上include_path='.;c:\php\pear'; 这才能算完。看来PEAR只能自己搞定了。

开始我只是把需要用到的PEAR文件copy到我的blog目录中,直接指定绝对路径include,需要改很多地方,而且还是不好用,使用DB.php的时候根本不能创建object,也不能建立数据库连接。

后来在网上搜索了半天找了一些文章,不过上面都是说怎么通过SSH登录到主机安装,再不就是说用ftps远程安装。使用ssh是不用想了,ftps要求必须php5.0以上,而且php打开了openssl的模块,我也不符合这些要求。

后来经过摸索找到了一个可行的解决方法:

1、在本机环境中安装PEAR,并且安装好需要的模块(我安装了DB模块)。

2、upload所有的PEAR目录到虚拟主机的相关目录下(d:\web\blog\PEAR)

3、修改pear.ini如下:(修改红色字部分为目前PEAR的实际目录,然后save)

#PEAR_Config 0.9
a:8:{s:15:"preferred_state";s:6:"stable";s:7:"bin_dir";s:6:"D:\php";s:7:"php_dir";s:11:"D:\web\blog\pear";s:7:"doc_dir";s:16:"D:\web\blog\pear\docs";s:8:"data_dir";s:16:"D:\web\blog\pear\data";s:8:"test_dir";s:17:"D:\web\blog\pear\tests";s:7:"php_bin";s:16:"D:\php\.\php.exe";s:10:"__channels";a:2:{s:12:"pecl.php.net";a:0:{}s:5:"__uri";a:0:{}}}

4、程序代码中加入:

# 扩展include_path
set_include_path( get_include_path() . PATH_SEPARATOR . 'D:\web\blog\pear');


这样就可以了,不用SSH也不用FTPS,更不用麻烦Administrator


另外,这个主机配置的php.ini基本上都是用的default值,我比较讨厌magic_quotes_gpc也是on的。以下代码可以搞定,

# 关闭Get_magic_quotes_gpc
if (get_magic_quotes_gpc()) {

$_POST = array_map('stripslashes_deep', $_POST);
$_GET = array_map('stripslashes_deep', $_GET);
$_COOKIE = array_map('stripslashes_deep', $_COOKIE);
}



该文章的原文地址为:http://www.wujianrong.com/archives/2007/04/phppear.html
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics