XAMPP(Windows의 Apache/MySQL 스택)에서 PEAR가 작동하도록 하기
문제
설치하려고 하는데 라코니카, 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')가 필요합니다.
- PEAR의 위치는 다음과 같습니다.
C:\xampplite\php\pear
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';