찾다
개발 도구composerComposer 명령을 실행할 때 응답하지 않는 문제 해결(open_basedir 문제)

다음 칼럼에서는 composer tutorial에서 Composer의 어떤 명령을 실행해도 응답이 없을 때(open_basedir 문제) 해결 방법을 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

Composer 명령을 실행할 때 응답하지 않는 문제 해결(open_basedir 문제)

Environment

CentOS 7

Nginx 1.12.0

PHP 7.1.6

Problem

아무 것도 표시되지 않습니다. , 그리고 응답이 없습니다 다른 프로젝트를 만들 때. -vvv 옵션을 추가한 후 결과에 변화가 없습니다. 그런 다음 작곡가 -h, 작곡가 자체 업데이트 등의 명령을 실행하려고 시도하지만 프롬프트 메시지가 없습니다.

Composer 관련 명령어를 다시 실행한 후 echo $?를 실행했더니 255라는 결과가 나왔습니다.

Composer를 설치하려고 하면 open_basedir 관련 오류 메시지가 나타납니다. 저는 바로 문제를 알았습니다. 이번에 새 프로젝트를 생성하기 전에는 php.ini의 open_basedir 옵션을 설정했는데, 값은 프로젝트 디렉터리와 /tmp입니다. /. Composer의 작업 디렉터리는 프로젝트 디렉터리입니다.

open_basedir에 댓글을 달고 PHP를 다시 시작한 후 Composer를 사용하는 데 문제가 없었습니다. 하지만 여전히 open_basedir을 설정하고 싶습니다. 대답은 다음과 같습니다.

Nginx 사용

외부 요청 서버 구문 분석이든 터미널 PHP 명령이든 php.ini 파일이 사용되지만 Composer의 실행은 시스템에 로컬입니다. 즉, Nginx에서 설정한 경우 Composer를 로컬로 실행해도 영향을 받지 않습니다.

Nginx에 구성 추가

fastcgi_param  PHP_ADMIN_VALUE "open_basedir=项目目录/:/tmp/";

Nginx와 PHP를 다시 시작한 후 터미널에서 Composer를 실행하려고 하면 예외가 없습니다. Nginx 구성에서 open_basedir을 구성할 때 주의해야 할 두 가지 사항이 있습니다.

프로그램이 프레임워크인 경우 $document_root/를 작성하지 않는 것이 좋습니다. 왜냐하면 그것이 루트 값이고 이 값은 프레임워크로 들어가는 디렉토리이고 실행 시 반드시 오류를 발생시키게 되기 때문입니다. 이해하신다면 $document_root/라고 써도 되지만, 디렉토리 끝에 "/"를 추가하는 것을 잊지 마세요. 예를 들어 "/tmp/"라고 쓰세요. "/tmp" 대신 "/tmp"라고 쓰면 "/tmp1"도 허용 범위 안에 들어갑니다

그냥 php.ini를 사용하고 싶은데요

실행에 필요한 디렉터리임은 뻔합니다. Composer 명령은 프로젝트 디렉터리(Composer 명령의 작업 디렉터리)와 tmp 디렉터리에만 있는 것이 아니라, 관련 정보를 검색한 결과 결과가 나오지 않았습니다. Composer 명령이 있는 위치와 Composer의 파일 디렉터리를 php.ini의 open_basedir 값으로 설정한 다음 PHP와 Composer를 다시 시작하면 정상입니다.

위 내용은 Composer 명령을 실행할 때 응답하지 않는 문제 해결(open_basedir 문제)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 juejin에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
작곡가 및 AI : PHP 개발의 새로운 가능성작곡가 및 AI : PHP 개발의 새로운 가능성Apr 19, 2025 am 12:03 AM

AI와 작곡가의 조합은 PHP 개발 효율성과 보안을 향상시킬 수 있습니다. 특별히 반영 : 1. 종속성 분석 및 최적화 : AI는 종속성을 예측하고 충돌을 줄일 수 있습니다. 2. 자동 보안 점검 : AI는 보안 취약점을 식별 할 수 있으며이를 업데이트하는 것이 좋습니다. 3. 코드 생성 및 최적화 : AI는 관련 코드를 자동으로 생성하고 최적화 할 수 있습니다.

DICR/YII2-Google을 사용하여 YII2에서 Google API를 통합합니다DICR/YII2-Google을 사용하여 YII2에서 Google API를 통합합니다Apr 18, 2025 am 11:54 AM

vprocesserazrabotkiveb-enclosed, мнепришлостольносться악 · 뇨 зейейерациигоглапи혁 맥발 추배. LeavallysumballancefriAblancefaumdoMatification, čtookazalovnetakprosto, Kakaožidal.posenesko

작곡가를 사용하여 JSON 스키마 검증 문제를 해결하는 방법작곡가를 사용하여 JSON 스키마 검증 문제를 해결하는 방법Apr 18, 2025 am 11:51 AM

Symfony 기반 응용 프로그램을 개발할 때 까다로운 문제가 있습니다. JSON 데이터 형식을 효과적으로 검증하는 방법. 처음에는 수동 검증 코드를 사용해 보았지만 복잡 할뿐만 아니라 오류가 발생했습니다. 약간의 탐사 후, 나는 Ptyhard/Json-Schema-Bundle이라는 작곡가 패키지를 발견하여 프로젝트에 편의성과 효율성을 높였습니다.

Composer를 사용하여 권장 시스템의 딜레마를 해결하십시오 : Andres-Montanez/권장 사항-펀들Composer를 사용하여 권장 시스템의 딜레마를 해결하십시오 : Andres-Montanez/권장 사항-펀들Apr 18, 2025 am 11:48 AM

전자 상거래 웹 사이트를 개발할 때 어려운 문제가 발생했습니다. 사용자에게 개인화 된 제품 권장 사항을 제공하는 방법. 처음에는 간단한 권장 알고리즘을 시도했지만 결과는 이상적이지 않았으며 사용자 만족도에도 영향을 미쳤습니다. 추천 시스템의 정확성과 효율성을 향상시키기 위해보다 전문적인 솔루션을 채택하기로 결정했습니다. 마지막으로 Composer를 통해 Andres-Montanez/Residations-Bundle을 설치하여 문제를 해결했을뿐만 아니라 추천 시스템의 성능을 크게 향상 시켰습니다. 다음 주소를 통해 작곡가를 배울 수 있습니다.

작곡가를 사용하여 Fecmall 고급 프로젝트 템플릿을 신속하게 구축하는 방법작곡가를 사용하여 Fecmall 고급 프로젝트 템플릿을 신속하게 구축하는 방법Apr 18, 2025 am 11:45 AM

전자 상거래 플랫폼을 개발할 때는 올바른 프레임 워크와 도구를 선택하는 것이 중요합니다. 최근에 기능이 풍부한 전자 상거래 웹 사이트를 구축하려고 할 때 어려운 문제가 발생했습니다. 확장 가능하고 완벽하게 기능적인 전자 상거래 플랫폼을 신속하게 구축하는 방법. 여러 솔루션을 시도하고 Fecmall의 고급 프로젝트 템플릿 (Fecmall/FBBCBase-App-Advanced)을 선택했습니다. 작곡가를 사용하면이 프로세스가 매우 간단하고 효율적입니다. 작곡가는 다음 주소를 통해 배울 수 있습니다. 학습 주소

교리 단체 직렬화 효율성 향상 : SIDUS/교리 서리 라이저-펀드의 적용교리 단체 직렬화 효율성 향상 : SIDUS/교리 서리 라이저-펀드의 적용Apr 18, 2025 am 11:42 AM

많은 교리 단체와 함께 프로젝트를 수행 할 때 어려운 문제가있었습니다. 엔티티가 직렬화되고 사막화 될 때마다 성능이 매우 비효율적 이어져 시스템 응답 시간이 크게 증가합니다. 여러 최적화 방법을 시도했지만 잘 작동하지 않습니다. 다행스럽게도 Sidus/Doctrine-Serializer-Bundle을 사용 하여이 문제를 성공적으로 해결하여 프로젝트의 성능을 크게 향상 시켰습니다.

Composer를 사용하여 Laravel 프로젝트에서 오류 로깅 문제를 해결합니다.Composer를 사용하여 Laravel 프로젝트에서 오류 로깅 문제를 해결합니다.Apr 18, 2025 am 11:39 AM

Laravel 프로젝트를 개발할 때 오류 로그 관리는 매우 중요한 링크입니다. 최근에 프로젝트에서 문제가 발생했습니다. 모든 유형의 오류를 효율적으로 캡처하고 기록하는 방법과 이러한 오류 메시지를 적시에 처리 할 수 ​​있는지 확인하십시오. 연구 후 Lukeboy25/ErrorLogger 패키지를 발견했습니다. 작곡가를 통해 설치되며 오류 로그의 관리 프로세스를 크게 단순화 할 수 있습니다. 다음 주소를 통해 작곡가를 배울 수 있습니다.

작곡가를 사용하여 Laravel 애플리케이션의 보안을 향상시키는 방법 : Wiebenieuwenhuis/Laravel-2FA 라이브러리의 응용 프로그램작곡가를 사용하여 Laravel 애플리케이션의 보안을 향상시키는 방법 : Wiebenieuwenhuis/Laravel-2FA 라이브러리의 응용 프로그램Apr 18, 2025 am 11:36 AM

Laravel 애플리케이션을 개발할 때는 일반이지만 어려운 문제가 발생했습니다. 사용자 계정의 보안을 향상시키는 방법. 사이버 공격의 복잡성이 증가함에 따라 단일 암호 보호만으로는 사용자 데이터의 보안을 보장하기에 충분하지 않습니다. 몇 가지 방법을 시도했지만 결과는 만족스럽지 않았습니다. 마지막으로, 작곡가를 통해 Wiebenieuwenhuis/Laravel-2FA 라이브러리를 설치하고 응용 프로그램에 2 단계 인증 (2FA)을 성공적으로 추가하여 보안을 크게 향상 시켰습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경