문제

설치하려고 하는데 라코니카, XAMPP를 사용하는 Windows 개발 서버의 오픈 소스 Microblogging 애플리케이션입니다. 제공된 지침.

웹사이트에서 PEAR을 찾을 수 없으며 아래 오류가 발생합니다.

경고:require_once(PEAR.php) [함수.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. 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

':'을 현재 휴대용 드라이브가 실행 중인 실제 드라이브 문자로 바꾸고 싶을 것입니다.불행하게도 이 드라이브 문자가 변경될 때마다 이 작업을 수행해야 하지만 필요한 모듈이 설치되었습니다.

다른 답변을 모두 먼저 시도했지만 그 중 어느 것도 작동하지 않는 것 같아서 배 구성 파일에서 배 경로를 정적으로 설정했습니다.

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

아파치를 다시 시작하고 다음 명령을 사용했습니다.

pear config-all 

모든 경로가 더 이상 C:\php\pear로 시작되지 않는지 확인하세요.

포인트 1에 따라 PEAR 경로는 c:\xampplite\php\pear\입니다.

그러나 경로는 \xamplite\php\pear\PEAR를 가리키고 있습니다.

두 개를 다른 것 위에 놓으면 하나가 너무 길다는 것을 분명히 알 수 있습니다.

c:\xamplite\php\pear\

\xamplite\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 셸(예: Git Bash 또는 Cygwin) 내에서 pear를 실행하지 마세요.나는 같은 문제가 있었고 위에서 제안한 경로 수정이 도움이 되지 않았습니다.Windows 셸로 전환하면 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