2012-12-12 6 views
0

내 서버에서 파일 업로드 스크립트를 사용하는 데 어려움을 겪고 있습니다. PHP가 Apache Module에서 실행되어 FastCGI로 실행되도록 PHP가 재구성 되었기 때문에 결론에 도달했습니다.open_basedir의 제한 사항

불행하게도 지금은 내가 오류를

경고 얻을 uploadify를 통해 파일을 업로드하려고하면 효과 인 move_uploaded_file() [function.move 업로드 파일] open_base_dir 제한. 파일 (/var/www/vhosts/domain.com/uploads/filename.txt)이 허용 된 경로 (/ var/www/vhosts/domain.com/httpdocs :/tmp)에 없습니다 ... 내가 시도

$tempFile = str_replace(" ","",$_FILES['Filedata']['tmp_name']); 

내 vhost.conf 파일을 변경 다음과 같이

move_uploaded_file($tempFile,$targetFile); 

$ 임시 파일은 다음과 같습니다 ..

그 다음 읽어 내 스크립트의 32 행으로 나에게 말한다 성공없이 여러 가지 방법으로 비트 - 현재는

<Directory /var/www/vhosts/domain.com/httpdocs> 
    <IfModule sapi_apache2.c> 
      php_admin_flag engine off 
      php_admin_flag safe_mode on 
      php_admin_value open_basedir none 
    <IfModule mod_php5.c> 
      php_admin_flag engine on 
      php_admin_flag safe_mode off 
      php_admin_value open_basedir none 
    </IfModule> 
</Directory> 

나는 라운드에서 원 거하는 것 - 서버의 경우, tmp 디렉토리가

답변

1

발견되지 않는 것 같다 당신은 실제로 주위 구성 엉망, 당신은 당신의 PHP의 open_basedir을 해제 할 수 있습니다 .ini, PHP를 다시로드하고 작동하면 시도하십시오. safe_mode은 PHP에서 기본적으로 꺼져 있어야합니다.이 옵션은 문제가 발생하기 때문입니다.

아니면 다음을 시도 할 수 있습니다 : 당신이 거기에 설정을 설정하기로 결정한 경우 php.ini 파일을 신청할 수 있습니다

<Directory /var/www/vhosts/domain.com/httpdocs> 
    php_admin_value open_basedir "/var/www/vhosts/domain.com/httpdocs/:/tmp/:/var/www/vhosts/domain.com/uploads/" 
</Directory> 

동일합니다.

+0

답장을 보내 주셔서 감사합니다. 귀하의 첫 제안에 문제가있는 것으로 보입니다. – Sideshow