将InstantRails中的PHP4升级到PHP5

 

学习Rails的第一件事情,自然是要装一个Rails的环境。这个倒不是太难,折腾几天之后就找到了InstantRails这个好东西。一切似乎都很美好,ruby跑起来了,rails也跑起来了,mysql、apache也都跑起来了,连php都跑起来了。总之,很美好,虽然我从来没用过ruby、rails、mysql、apache和php。

不过快乐的时光总是短暂的——这句话不是我说的,我只是引用而已——公司要我在server上装个东西,这个东西,它要用PHP5。不幸的是,InstantRails(我现在安装的是现在最新的InstantRails2.0)集成的PHP只是4,我需要把PHP4升级到PHP5。

这也不是什么难事。俗话说,内事不决问老婆,外事不决问Google(我是内事外事都问google),知之为知之,不知Google之——很快就找到了答案。于是跟着一步一步来:

首先,下载一个PHP5。这个太简单,我就不说了。我下载的是PHP5.2.5,For Windows。

安装PHP5。安装目录我选择了C:/PHP5,而不是/Program Fils/目录。然后选择apache的版本,InstantRails2.0里边的apache是1.3.33,因此我们选择apache 1.3.x module。接下来安装程序会要求你提供APACHE的conf文件目录。这儿会有个小问题,InstantRails有两个和Apache相关的httpd.conf文件,一个在Apache目录下,一个在conf_files目录下。犹豫之后我选择了conf_files目录,因为conf_files下的httpd.conf文件被修改的时候,InstantRails会自动修改apache/conf下边的httpd.conf文件。

继续安装。安装过程中InstantRails会很智能地告诉你出错了:"Invalid Command 'PHPIniDir'",先别理它,完成了PHP5的安装后再点InstantRails出错提示,点yes编辑httpd.conf文件(如果你已经点过No了,没关系,手工打开conf_files目录下的httpd.conf文件也行)。找到文件最后几行,会看到PHP5安装时添加的几句:

#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
PHPIniDir "C:/PHP5/"
LoadModule php5_module "C:/PHP5/php5apache.dll"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

把PHPIniDir "C:/PHP5/"和LoadModule php5_module "C:/PHP5/php5apache.dll"这两句注释掉。向前寻找LoadModule,可以看到原来InstantRails原来有一句LoadModule php4_module "${path}/php/php4apache.dll"被注释掉了。把LoadModule php5_module "C:/PHP5/php5apache.dll"这一句拷贝到这儿。继续向下寻找"PHP4",可以看到一句AddModule mod_php4.c。把这改成AddModule mod_php5.c。重新启动Apache,OK,不会报错了。

但是问题并没有全部结束。试着点InstantRails菜单-〉configure->Database (via PhpMyAdmin)。正常情况下应该打开一个浏览器窗口,并顺利连接到mysql数据库进行管理。在我们升级PHP之前确实是这样的,但现在不是了,你应该看到一行中文提示(如果你看到的是乱码,就在浏览器里选择一下编码方式):

无法载入 mysql 扩展,<br />请检查 PHP 配置 - 文档

问题产生的原因看起来是很简单的。InstantRails自带的PHP4内建了对mysql的支持,因此不需要加载mysql模块。但是我们安装的PHP5显然没有这么强大,因此我们需要自行加载mysql模块。打开conf_files目录下的PHP.ini文件,找到extension_dir这一行,将后边的值改为"C:/PHP5/EXT"。向后寻找“extension”,会发现一大堆extension=php_xxxxx.dll。在这里加上一句extension=php_mysql.dll,保存文件。InstantRails再次智能地告诉你出错了(这次是apache报错):无法定位程序输入点 mysql_server_end 与动态链接库 LIBMYSQL.DLL上。不幸的是,当你点击“确定”以后,同样的错误还会再弹出来一次;幸运的是,当我们关闭InstantRails然后再重新打开的时候,一切都再次变得美好了……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值