使PEAR在XAMPP上工作(Windows上的Apache / MySQL堆栈)

时间:2020-03-05 18:53:25  来源:igfitidea点击:

我试图按照提供的说明,使用XAMPP在Windows开发服务器上安装Laconica,这是一个开放源代码微博应用程序。

该网站找不到PEAR,并引发以下错误:

Warning: require_once(PEAR.php) [function.require-once]: failed to open stream: No such file or directory in C:\xampplite\htdocs\laconica\lib\common.php on line 31
  
  Fatal error: require_once() [function.require]: Failed opening required 'PEAR.php' (include_path='.;\xampplite\php\pear\PEAR') in C:\xampplite\htdocs\laconica\lib\common.php on line 31
  • PEAR位于C:\ xampplite \ php \ pear
  • phpinfo()向我显示包含路径为.. \ xampplite \ php \ pear

我究竟做错了什么?为什么不包含PEAR文件夹?

解决方案

回答

尝试添加驱动器号:

include_path='.;c:\xampplite\php\pear\PEAR'

还请验证PEAR.php是否确实存在,它可能位于\ php \中:

include_path='.;c:\xampplite\php'

回答

以每点1为准,PEAR路径为c:\ xampplite \ php \ pear \

但是,路径指向\ xampplite \ php \ pear \ PEAR

将两个放在另一个之上,我们可以清楚地看到一个太长了:

c:\ xampplite \ php \ pear \

\ xampplite \ php \ pear \ PEAR

包含路径设置为将一个梨子深入到梨树中。 pear文件夹的PEAR子文件夹包含PEAR组件。我们需要将包含路径上调一级。

(我们不需要c:顺便说一句,路径很好,只是太深了)

回答

我们需要修复include_path系统变量以指向正确的位置。

要修复它,请编辑php.ini文件。在该文件中,我们会发现一行内容为"include_path = ..."。 (我们可以通过在页面上运行phpinfo()来查找php.ini的位置。)修复行中的部分内容,即" \ xampplite \ php \ pear \ PEAR",以读取" C"。 :\ xampplite \ php \ pear`"。确保在行之前和/或者之后保留分号。

重新启动PHP,我们应该一切顺利。要在IIS中重新启动PHP,我们可以重新启动分配给站点的应用程序池,或者更好的是一起重新启动IIS。