14

我正在尝试按照提供的说明使用 XAMPP 在我的 Windows 开发服务器上安装开源微博应用程序Laconica

该网站找不到 PEAR,并抛出以下错误:

警告:require_once(PEAR.php) [function.require-once]:无法打开流:第 31 行的 C:\xampplite\htdocs\laconica\lib\common.php 中没有这样的文件或目录

致命错误:require_once() [function.require]:在 C:\xampplite\htdocs\laconica\lib\common 中打开所需的 'PEAR.php' (include_path='.;\xampplite\php\pear\PEAR') 失败。第 31 行的 php

  1. 梨位于C:\xampplite\php\pear
  2. phpinfo()告诉我包含路径是.;\xampplite\php\pear

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

4

8 回答 8

24

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

要修复它,请编辑php.ini文件。在该文件中,您会发现一行写着“ include_path = ...”。(您可以通过在页面上运行来找出 php.ini 的位置phpinfo()。)将“ ” 行的部分修复为\xampplite\php\pear\PEARC:\xampplite\php\pear”。确保在行之前和/或之后保留分号。

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

于 2008-09-15T13:23:59.753 回答
9

如果您使用的是便携式 XAMPP 安装和 Windows 7,并且像我一样拥有从控制面板中删除 XAMPP shell 后的版本,这里建议的答案都不会对您有好处,因为这些软件包不会安装。

问题出在配置文件上。经过大量的试验和错误,我找到了正确的设置。

只需在 \xampp\php 目录中拉出一个命令窗口并运行

pear config-set doc_dir :\xampp\php\docs\PEAR
pear config-set cfg_dir :\xampp\php\cfg
pear config-set data_dir :\xampp\php\data\PEAR
pear config-set test_dir :\xampp\php\tests
pear config-set www_dir :\xampp\php\www

您将希望将“:”替换为您的便携式驱动器目前正在运行的实际驱动器号。不幸的是,只要驱动器号发生变化,就需要这样做,但它确实安装了我需要的模块。

于 2012-08-21T17:54:44.740 回答
4

我首先尝试了所有其他答案,但它们似乎都不起作用,所以我在 pear 配置文件中静态设置 pear 路径

C:\xampp\php\pear\Config.php

找到这段代码:

if (!defined('PEAR_INSTALL_DIR') || !PEAR_INSTALL_DIR) {
    $PEAR_INSTALL_DIR = PHP_LIBDIR . DIRECTORY_SEPARATOR . 'pear';
} 
else {
    $PEAR_INSTALL_DIR = PEAR_INSTALL_DIR;
}

并将其替换为:

$PEAR_INSTALL_DIR = "C:\\xampp\\php\\pear";

我重新启动了apache并使用了命令:

pear config-all 

确保所有路径不再以 C:\php\pear 开头

于 2015-07-03T10:00:30.157 回答
1

根据第 1 点,您的 PEAR 路径是 c:\xampplite\php\pear\

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

把两个放在一个上面你可以清楚地看到一个太长了:

c:\xampplite\php\梨\

\xampplite\php\pear\PEAR

您的包含路径设置为在梨树中太深一个 PEAR。pear 文件夹的 PEAR 子文件夹包括 PEAR 组件。您需要将包含路径向上调整一级。

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

于 2008-09-15T13:16:33.500 回答
1

在 Windows 上使用Xampp shell(XAMPP 控制面板中有一个“Shell”按钮)

然后

cd php\pear

去 'C:\xampp\php\pear'

然后输入

pear
于 2017-02-01T08:35:06.207 回答
1

我解决了

avast 会删除您目录中的 server.php,因此禁用防病毒软件

检查 laravel 文件夹中的 (server.php) 文件

服务器.php

<?php

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <taylor@laravel.com>
 */

$uri = urldecode(
    parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
);

// This file allows us to emulate Apache's "mod_rewrite" functionality from the
// built-in PHP web server. This provides a convenient way to test a Laravel
// application without having installed a "real" web server software here.
if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
    return false;
}

require_once __DIR__.'/public/index.php';

于 2019-03-18T06:04:00.513 回答
0

尝试添加驱动器号:

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

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

include_path='.;c:\xampplite\php'
于 2008-09-15T13:15:18.277 回答
0

此类问题的另一个问题是:避免在 Windows 机器上的 Unix shell(例如,Git Bash 或 Cygwin)中运行 pear。我遇到了同样的问题,上面建议的路径修复没有帮助。切换到 Windows shell,pear 命令按预期工作。

于 2013-09-13T14:18:48.453 回答