现在重新载入页面,然后 error_log 将告诉你什么地方出现了问题。更多的关于 perl 调试,请参见 perldebug.
加入更多
现在如果你想要针对上面的情况作一些修改,该如何做呢?不幸的,唯一一种安装模式如下:
修改你的 First.pm 文件
重新以 root 身份运行 make install
重新启动 Apache
这也许很麻烦,特别是重新启动 Apache。针对这个问题,我们可以另外安装一个特别设计的模块来避免每次这样麻烦的做。首先你需要从 CPAN 下载并安装 Apache::Reload 模块(除非你已经使用 mod_perl 1.26 或者更高版本)。在这里 http://search.cpan.org/search?dist=Apache-Reload 下载。
解开 tar.gz 文件并进入新目录,执行:
perl Makefile.PL
make然后到 root 身份执行:
make install现在再次打开 httpd.conf 文件,加入:
PerlInitHandler Apache::Reload这将测试所有有所改变的模块并在必要时自动重新载入新模块。这对于开发来说很有用,但会有性能损失,所以在开发完成之后,就将该特性关闭。
阅读更多
从这里开始你有很多事情需要去做。Apache API 本身就十分庞大,大多数都可以通过 perldoc Apache 看到相应的文档. 现在这个模块基本上没有什么价值,因为只有一个 URI 可以用于被该模块所控制(http://server/mod_perl_tutorial),这使得它变得不够灵活。为了使一个模块可以处理多个 URI ,有许多解决办法,但最好的还是推荐使用 Apache::Dispatch 模块。
可以在 CPAN 下载 http://search.cpan.org/search?dist=Apache-Dispatch. Apache::Dispatch 允许你保留标准的 mod_perl handler构架,同时还允许多个函数和多个URIs 被派发。
接下来我不建议象例子中一样直接向浏览器输出内容。请考虑使用一些常用的模版技术,比如 Template-Toolkit, HTML::Template, 更甚于使用 XSLT 或者 XPathScript (有很多很多这样的模版技术可选,我们希望有一天可以有文章来讨论这些技术来帮助你来选择)。









