質問

インストールしようとしています ラコニカ, 、Windows 開発サーバー上で XAMPP を使用するオープンソースのマイクロブログ アプリケーションです。 提供された指示.

Web サイトで PEAR が見つからず、以下のエラーがスローされます。

警告:require_once(PEAR.php) [function.require-once]:ストリームを開くことに失敗しました:C:\xampplite\htdocs\laconica\lib\common.php の 31 行目にそのようなファイルまたはディレクトリはありません

致命的な誤り:require_once() [関数.require]:C:\xampplite\htdocs\laconica\lib\common.php の 31 行目で、必要な 'PEAR.php' (include_path='.;\xampplite\php\pear\PEAR') を開くことができませんでした

  1. PEAR は次の場所にあります。 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 シェルが削除された後のバージョンを使用している場合、パッケージがインストールされないため、ここで提案された回答はどれも役に立ちません。

問題は設定ファイルにあります。多くの試行錯誤の後、正しい設定を見つけました。

\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 を指しています。

2 つを上下に並べると、一方が長すぎることが明らかにわかります。

c:\xampplite\php\pear\

\xampplite\php\pear\PEAR

インクルード パスが PEAR ツリーの 1 つ分深くなるように設定されています。pear フォルダーの PEAR サブフォルダーには、PEAR コンポーネントが含まれています。インクルード パスを 1 レベル上に調整する必要があります。

(c: は必要ありません。ちなみに、あなたのパスはそのままで大丈夫です、ただ深すぎるだけです)

ドライブ文字を追加してみてください。

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

また、PEAR.php が実際に存在することも確認します。代わりに \php\ に存在する可能性があります。

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

この種の問題にはもう 1 つの落とし穴があります。Windows マシン上の Unix シェル (Git Bash や Cygwin など) 内で pear を実行することは避けてください。私も同じ問題を抱えていましたが、上記で提案されたパスの修正は役に立ちませんでした。Windows シェルに切り替えると、pear コマンドが期待どおりに機能します。

Windows では、 Xampp シェル (XAMPP コントロール パネルに「シェル」ボタンがあります)

それから

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