我正在尝试安装 拉科尼卡, ,在我的 Windows 开发服务器上使用 XAMPP 的开源微博应用程序 提供的说明.

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

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

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

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

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

有帮助吗?

解决方案

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

要修复它,请编辑 php.ini 文件。在该文件中,您将找到一行内容:“include_path = ...”。(您可以通过运行找出 php.ini 的位置 phpinfo() )修正行中“”的部分\xampplite\php\pear\PEAR“ 读书 ”C:\xampplite\php\pear”。确保在该行之前和/或之后保留分号。

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

其他提示

如果您使用的是便携式 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

您需要将“:”替换为便携式驱动器当前运行的实际驱动器号。不幸的是,只要驱动器号发生变化,就需要执行此操作,但它确实安装了我需要的模块。

我首先尝试了所有其他答案,但似乎都不起作用,所以我在 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 开头

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

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

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

c:\xampplite\php\pear\

\xampplite\php\pear\PEAR

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

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

尝试添加驱动器盘符:

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

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

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

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

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

然后

cd php\pear

转到“C:\xampp\php\pear”

然后输入

pear

我解决了

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';

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top