2012-06-25 2 views
5

는() 함수를 위해서는 ini_set을 넣어하는 가장 좋은 장소 어디 :클래스에서 ini_set() 함수를 호출 할 위치는 어디입니까? 나는 <code>ini_set</code> 기능이 같은 방법 안에있을 때 생각하기 때문에 내가 알고 싶어

private function archiveBackup() { 
    ini_set('memory_limit', '128M'); 
    ini_set('max_execution_time', 0); 
    ... 
} 

ini_set 기능이 작동하지 않습니다!

내 스크립트는 jQuery ajax query -> ajax.php 파일 (클래스의 인스턴스를 만들고 메소드를 호출) -> 클래스의 메소드를 호출한다.

어디에서 가장 좋습니까? ajax.php 파일이나 클래스 또는 내부 메서드의 시작 부분에?

+0

부수적으로이 ini 값은 해당 스크립트를 실행하기 위해 설정되었음을 기억하십시오. 동일한 스크립트 실행으로 되돌리려면 수동으로 실행해야합니다. – Sammaye

답변

5

일반적으로 ini_set 전화를 걸 때 가장 적합한 장소는 스크립트 시작 지점 (바로 근처)입니다. 이렇게하면 처음에 php.ini 파일에 정의 된 것과 거의 같습니다.

+0

예. 그렇지만 공유 호스팅이 php.ini 파일을 허용하지 않으면 어떻게해야합니까? –

+0

여전히 작동합니다. Sinceit는 PHP 파일에 정의되어 있습니다. Kolink가 php.ini 파일에서 정의하는 것과 같습니다. – Sammaye

+0

yuor 공유 호스팅에서 php.ini 개조를 허용하지 않으면 ini_set을 수행 할 수 있는지 확인하십시오. 이 명령을 사용하여 이용 약관을 위반했을 수 있습니다. – Sammaye

1

주 기능의 시작 부분에 ini_set을 삽입했음을 확인했습니다.

그래서 :

위해서는 ini_set 기능이 작동하지 않습니다!

공유 호스팅 제공 업체가 사용자를 임의의 방식으로 차단했기 때문일 수 있습니다.

Kolink는 호스팅 제공 업체가 disable_functions을 사용하고있는 것으로 보입니다.

0

개인적인 선호도로 간주 될 수 있지만 개인적으로 내 응용 프로그램 구성 파일 외부에서 PHP 구성 지시문을 사용하지 마십시오. 즉, 특정 프로젝트 클래스가 특정 PHP 실행 수준 구성을 필요로하는 경우 해당 요구 사항을 클래스 설명에 기록하지만 여전히 기본 구성 파일에 구성 자체를 적용합니다.

+3

나는 일반적으로 환경 설정에 동의하지만 몇 가지 설정 (일반적으로 메모리 제한)을 무시하는 장소 (일반적으로 cron 스크립트)가 있습니다. –

+0

크론에 대한 경험이 없어서 그런 식으로해야 할 필요가 있습니다. – brezanac