2012-07-16 3 views
0

추가 php.ini 파일을로드하는 데 문제가 있습니다. 사용할 구성 디렉토리를 지정했지만 다른 장소에서 찾고 다른 php.ini 또는 모듈을로드하는 것을 원하지 않습니다. 결과적으로 /etc/php.d에는 존재하지 않는 모듈이 지정되어 있으므로 함수를 호출 할 때 항상 오류가 발생합니다.PHP : 추가 ini 파일을 무시합니다.

httpd.conf에서 쉘의 PHPRC 또는 PHPINIDIR 설정으로 지정된 장소 만 보도록 PHP에 지시하려면 어떻게해야합니까?

Configuration File (php.ini) Path: /etc 
Loaded Configuration File:   /home/me/php/etc/php.ini 
Scan for additional .ini files in: /etc/php.d 
Additional .ini files parsed:  /etc/php.d/dbase.ini, 
/etc/php.d/mysql.ini, 
/etc/php.d/mysqli.ini, 
/etc/php.d/pdo.ini, 
/etc/php.d/pdo_mysql.ini, 
/etc/php.d/pdo_sqlite.ini 

나는 항상 내가 함수를 호출에 반환하고있어 JSON 문자열을 방해 얻을 오류입니다. 오류 :

PHP Warning: PHP Startup: Unable to load dynamic library  
'/home/me/usr/lib64/php/modules/dbase.so' - /home/me/usr/lib64/php/modules/dbase.so: 
cannot open shared object file: No such file or directory in Unknown on line 0 

dbase.so이 /etc/php.d에 선언하고, 우리는 외에 시스템 수준 설정에 액세스하고 있지 않기 때문에 나는 다른를 제거 할 수 없습니다 사용자가 기본 설정에 의존하고있을 수도 있습니다.

감사합니다.

답변

1

MikeC, 이는 웹 호스팅 공유 설치와 관련된 일반적인 문제입니다. PHP 검색 목록은 의도적으로 설계된 것으로, ISP가 ini includes를 시행 할 수 있도록합니다. 시스템 구성에 액세스 할 수없는 경우 수정할 수 없습니다. 이것은 호스팅 제공 업체의 서비스/지원 데스크에 로그인하는 것입니다. 오류를 지적하고 conf.d 디렉토리에서 ini 파일을 제거하도록 요청하십시오.

나는 비슷한 문제를 가지고있었습니다.

"내가 지속적으로 얻는 오류는 JSON 문자열을 방해하여 호출 함수로 돌아갑니다."왜 사용자 또는 AJAX 루틴에 오류가 반환됩니까? 가장 좋은 방법은 오류를 파일에 기록하는 것이므로 어쨌든 JSON에이 내용이 나타나서는 안됩니다.

+0

감사합니다. Terry. 이것은 내 dev 시스템이므로 모든 오류보고가 켜져 있습니다. 나는 생산에서 이러한 유형의 오류가 사용자에게 보이지 않아야한다는 것에 동의합니다. – AaplMike

+0

주문은 어떻게 결정됩니까? – AaplMike

+0

PHP가 빌드 될 때 ./configure 지시어에 따라 다릅니다. --with-config-file-scan-dir 옵션은 검사 할 config 디렉토리를 설정합니다. 일반적으로'/ etc/php.d' 또는'/ etc/php5/apache2/conf.d'입니다. 이 디렉토리는 마지막으로 스캔되므로이 ini 파일은 주 ini에있는 모든 것을 덮어 쓸 수 있습니다. – TerryE

1
[email protected]:~$ php -c . -r 'var_dump(function_exists("mysql_connect"));' 
bool(true) 

[email protected]:~$ export PHP_INI_SCAN_DIR="" 
[email protected]:~$ php -c . -r 'var_dump(function_exists("mysql_connect"));' 
bool(false) 

-c 실제로 PHPIniDir 아파치 구성을 일치합니다. 환경 변수는 apache 인스턴스 (예 : apache init 스크립트)에 설정할 수 있지만 OS 레벨 컨트롤이 필요함을 의미합니다.

관련 문제