지침 제공 에 따라 XAMPP를 사용하여 Windows 개발 서버에 오픈 소스 Microblogging 응용 프로그램 인 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
C:\xampplite\php\pear
에 있습니다.phpinfo()
는 포함 경로가 .;\xampplite\php\pear
임을 보여줍니다.내가 뭘 잘못하고 있죠? PEAR 폴더가 포함되지 않은 이유는 무엇입니까?
올바른 위치를 가리 키도록 include_path
시스템 변수를 수정해야합니다.
이 문제를 해결하려면 php.ini
파일을 편집하십시오. 이 파일에는 "include_path = ...
"라는 줄이 있습니다. (페이지에서 phpinfo()
을 (를) 실행하여 php.ini의 위치를 찾을 수 있습니다.) "\xampplite\php\pear\PEAR
"라고 표시된 줄 부분을 수정하여 "C:\xampplite\php\pear
". 세미콜론을 줄 앞뒤에 놓아 두십시오.
다시 시작 PHP 그리고 잘 가야합니다. PHP in IIS 귀하의 사이트 또는 더 나은 아직, 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 config 파일에서 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\배 \
\ xampplite\php\pear\PEAR
포함 경로가 하나의 PEAR 페어 트리로 너무 깊게 설정되어 있습니다. pear 폴더의 PEAR 하위 폴더)에는 PEAR 컴포넌트 : 포함 경로를 한 단계 위로 조정해야합니다.
(당신은 c가 필요하지 않습니다 : 그건 그렇고, 당신의 길은 그대로, 너무 깊습니다)
이런 종류의 문제에 대한 또 다른 문제는 Windows 컴퓨터의 Unix Shell (예 : Git Bash 또는 Cygwin) 내에서 배를 실행하지 않는 것입니다. 나는 같은 문제가 있었고 위에서 제안한 경로 수정이 도움이되지 않았습니다. Windows Shell로 전환하고 pear 명령이 예상대로 작동합니다.
나는 고쳤다
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';
드라이브 문자를 추가하십시오 :
include_path='.;c:\xampplite\php\pear\PEAR'
또한 PEAR.php가 실제로 있는지 확인하십시오. 대신\php \에있을 수 있습니다.
include_path='.;c:\xampplite\php'
Windows에서 Xampp Shell을 사용하십시오 (XAMPP 제어판에 '쉘'단추가 있습니다)
그때
cd php\pear
'C :\xampp\php\pear'로 이동
그런 다음 입력
pear