2016-09-04 1 views
0

사용자 권한이있는 Linux Red Hat 서버에 PHP 셸이 있습니다. 나는 루트 디렉토리를 심볼릭 링크하려고 시도하고 있으며 여전히 PHP에서는 ln -s 또는 심지어 symlink()을 사용하여 불가능합니다. PHP DL 기능이 그림과 같이 비활성화되어 있음을바이 패스 비활성화 DL 함수 PHP 리눅스

내가 본 :

safe_mode=OFF 
disable_functions=NONE 

: image

내가 내 현재 디렉토리 마녀의 php.ini의 사용이 문자열을 포함 그리고 그것은 무능력하지 않았고, 그래서 무엇을해야합니까?

답변

1

dl 함수 및 동적 PHP 정보를로드 할 수있는 능력은 사람 5.3 PHP (PHP 7.0-FPM에), 모든 PHP SAPI에서, CLI SAPI의 예외 삭제되었습니다.

이 기능은 PHP 5.3.0에서 가장 SAPI에서에서 제거하고, PHP 7.0.0에서 PHP-FPM에서 제거 경고. 당신이 PHP 5.2을 실행하지 않는 한

Source php.net/dl

그래서, 웹 SAPI에서 해당 기능에 대한 사용이 없습니다. 웹 환경에서 런타임에 확장 기능을 동적으로로드하려고해서는 안됩니다. 대개의 경우 의미가 없으므로 많은 경우 발생할 수 있습니다. 대부분의 이러한 엣지 경우는 CLI 환경에서는 문제가 있지만 웹 환경에서는 중요합니다.

disable_functions을 덮어 쓰려면 올바른 php.ini 파일을 편집하고 올바른 SAPI에서 phpinfo()을 확인하십시오. CLI 및 Apache/web에서 실행되는 PHP는 서로 다른 구성 파일을로드 할 수있는 두 개의 다른 바이너리입니다. 따라서 "로드 된 구성"파일을 찾으려면 올바른 것에서 phpinfo()을 찾아야합니다. 이러한로드 된 구성을 적용하려면 항상 PHP를 다시 시작해야합니다. dl()은 현재 지원되는 모든 PHP 버전에서 제거 될 가능성이 높습니다.

+0

네,이 정보에 대해 감사드립니다. – walidz