web-dev-qa-db-ja.com

XAMPP(WindowsのApache / MySQLスタック)で動作するようにPEARを取得する)

Laconica をインストールしようとしています 提供されている手順 に従って、XAMPPを使用して、私のWindows開発サーバーにオープンソースのマイクロブログアプリケーションです。

Webサイトは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. PEARは_C:\xampplite\php\pear_にあります
  2. phpinfo()は、インクルードパスが_.;\xampplite\php\pear_であることを示しています

何が悪いのですか? PEARフォルダが含まれていないのはなぜですか?

10
Donnie Thomas

正しい場所を指すように_include_path_システム変数を修正する必要があります。

これを修正するには、_php.ini_ファイルを編集します。そのファイルには、「_include_path = ..._」という行があります。 (ページでphpinfo()を実行すると、php.iniの場所を確認できます。)「_\xampplite\php\pear\PEAR_」と表示されている部分を修正して、「_C:\xampplite\php\pear_」を読み取ります。 」セミコロンは、行の前後に配置してください。

再起動PHPこれで十分です。再起動するにはPHP in IISに割り当てられているアプリケーションプールを再起動できますあなたのサイト、または、いっそのこと、IISすべて一緒に再起動します。

22
user7075

ポータブル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

「:」を、ポータブルドライブが現在実行されている実際のドライブ文字に置き換えます。残念ながら、これはこのドライブ文字が変更されるたびに行う必要がありますが、必要なモジュールがインストールされました。

8
Reid Johnson

最初に他のすべての回答を試しましたが、どれも機能していないようでしたので、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で始まっていないことを確認してください

4
Alex Rapso

ポイント1のとおり、あなたのPEARパスはc:\ xampplite\php\pear \です

ただし、パスは\ xampplite\php\pear\PEARを指しています

2つを重ね合わせると、1つが長すぎることがはっきりとわかります。

c:\ xampplite\php\pear \

\ xampplite\php\pear\PEAR

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

(あなたはcを必要としません:ちなみに、あなたのパスはそのままですが、深すぎます)

1
THEMike

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

0
bluestraggler

直した

avastはディレクトリ内のserver.phpを削除するため、アンチウイルスを無効にします

laravelフォルダの(server.php)ファイルを確認してください

server.php

<?php

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <[email protected]>
 */

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

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

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

pEAR.phpが実際にそこにあることも確認してください。代わりに\ php \にある可能性があります。

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

WindowsではXampp Shellを使用します(XAMPPコントロールパネルに[Shell]ボタンがあります)

その後

cd php\pear

「C:\ xampp\php\pear」に移動します

次に入力

pear
0
mpalencia