PHP ini Windows의 경로를 변경하는 방법


12

PHP를 다운로드하여 경로에 추가했으며 openssl을 활성화하려고합니다.

php --ini는 구성 파일이 c : \ windows라고 알려주며 아무것도 없습니다 .php를 c / windows에 복사하고 싶지 않습니다.

내 PHP 폴더를 가리 키도록 어떻게 변경합니까?

답변:


10

c:\windows폴더 근처의 어느 곳에서나 PHP와 관련이있을 필요는 없습니다 .

그렇게하면 PHP를 새 버전으로 업그레이드 할 때 엉망이됩니다.

PHP가 설치된 폴더에 CD를 php --ini넣으면 현재 폴더에서 php.ini 파일을 읽습니다.

D:\wamp\bin\php\php5.5.12>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File:         D:\wamp\bin\php\php5.5.12\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

PHP 설치 폴더를 Windows PATH에 넣는 것도 좋지 않은 생각입니다.

당신이 필요로하는 것은 사용중인 명령 창 기간 동안 PATH를 설정하고 이미 Windows PATH에있는 폴더 중 하나에 넣을 작은 배치 파일입니다.

PHP를 설치했다고 가정하면 C:\php배치 파일입니다.

phppath.cmd

PATH=%PATH%;C:\php
php --ini
php -v

그런 다음 명령 창을 열고 PHP 코드를 실행하려고 할 때 마다이 배치 파일을 실행하면 환경이 구성됩니다. Composer 등과 같이 환경에 추가 된 다른 것들이 필요할 때이 배치 파일에 다른 것을 추가 할 수도 있습니다.


예! 이것은 나를 위해 작동합니다. PHP.ini는 동일한 폴더에있는 PHP.exe를 사용하는 것이 더 좋으므로 웹 및 CLI PHP는 동일한 PHP.ini를 참조 할 수 있습니다.
Scott Chu

@ScottChu 실제로는 두 가지 환경이 아니며 실제 환경에서는 종종 두 가지에 대해 서로 다른 구성을 원합니다.
RiggsFolly

4

설명서에 따르면 :

PHP가 시작될 때 구성 파일 (php.ini)을 읽습니다. PHP의 서버 모듈 버전의 경우 웹 서버가 시작될 때 한 번만 발생합니다. CGI 및 CLI 버전의 경우 모든 호출에서 발생합니다.

php.ini는 다음 위치에서 순서대로 검색됩니다.

  • SAPI 모듈 특정 위치 (Apache 2의 PHPIniDir 지시문, CGI 및 CLI의 -c 명령 행 옵션, NSAPI의 php_ini 매개 변수, THTTPD의 PHP_INI_PATH 환경 변수)
  • PHPRC 환경 변수. PHP 5.2.0 이전에는 아래 언급 된 레지스트리 키 이후에 확인되었습니다.
  • PHP 5.2.0부터 php.ini 파일의 위치는 다른 버전의 PHP에 대해 설정 될 수 있습니다. 다음 레지스트리 키는 순서대로 검사됩니다. [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xyz], [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xy] 및 [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ x], 여기서 x, y 및 z는 PHP 전공을 의미합니다. 부 버전 및 릴리스 버전. 이러한 키 중 하나에 IniFilePath에 대한 값이 있으면 가장 먼저 찾은 것이 php.ini의 위치로 사용됩니다 (Windows 만 해당).
  • [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP], IniFilePath 값 (Windows 만 해당).
  • 현재 작업 디렉토리 (CLI 제외).
  • 웹 서버의 디렉토리 (SAPI 모듈의 경우) 또는 PHP의 디렉토리 (다른 경우 Windows의 경우)
  • Windows 디렉토리 (C : \ windows 또는 C : \ winnt) (Windows의 경우) 또는 --with-config-file-path 컴파일 시간 옵션.

PHPRC환경 변수 또는 레지스트리 키를 시도해야 합니다 [HKEY_LOCAL_MACHINE\SOFTWARE\PHP].


0

나는 성공하지 않고 모든 것을 시도했다. 아파치 httpd.conf, php.ini 및 여러 다른 시도를 변경하면 항상로드 된 구성 파일-(없음)이 발생했습니다. 마지막으로 php 디렉토리의 모든 파일을 C 디렉토리로 복사했습니다. \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ bin 모든 것이 작동하기 시작했습니다. 아주. 불행히도 완벽한 솔루션은 아니지만 효과가있었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.