prosource

"PHP Fatal error:"를 해결하려면 어떻게 해야 합니까?알 수 없음: 여는 데 실패했습니다."

probook 2023. 10. 10. 20:39
반응형

"PHP Fatal error:"를 해결하려면 어떻게 해야 합니까?알 수 없음: 여는 데 실패했습니다."

LAMP 스택에 두 개의 사이트가 있습니다.원(Site1)은 워드펜스와 함께 워드프레스를 사용하며 완벽하게 작동합니다.두 번째 웹 사이트(Site2)에서는 간단한 index.php 파일만 실행합니다.

<?php
echo "Testing";
?>

그러나 아래와 같이 HTTP ERROR 500으로 에러 로그를 표시합니다.

[Thu Dec 22 16:23:44.774993 2016] [:error] [pid 56607] [client xxx:27253] PHP Warning:  Unknown: failed to open stream: No such file or directory in Unknown on line 0
[Thu Dec 22 16:23:44.775042 2016] [:error] [pid 56607] [client xxx:27253] PHP Fatal error:  Unknown: Failed opening required '/var/www/site1/public_html/public/wordfence-waf.php' (include_path='.:/usr/share/php') in Unknown on line 0

사이트1과 사이트2는 서로 아무런 관련이 없으며 별도의 폴더에 있습니다.무슨 일이 일어나고 있는지 잘 모르겠습니다.조언 좀 해주세요.

사이트 1의 .htaccess 파일

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

# Wordfence WAF
<IfModule mod_php7.c>
        php_value auto_prepend_file '/var/www/site1/public_html/public/wordfence-waf.php'
</IfModule>
<Files ".user.ini">
<IfModule mod_authz_core.c>
        Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
        Order deny,allow
        Deny from all
</IfModule>
</Files>

# END Wordfence WAF

@EdCottrell 감사합니다.그에 대한 답을 드디어.

먼저 작업 사이트에 info.php를 만들어 php.ini가 어디에 있는지 디버그합니다.

<? php phpinfo(); ?>

그러면 auto_prepend_file =에 값이 있는지 확인합니다.예인 경우 삭제합니다.

그런 다음 site1.conf 파일을 열고 .htaccess의 파일 행 대신 auto_prepend_file 행을 추가합니다.

<Directory "/path/to/folder">
    php_value auto_prepend_file /absolute/path/to/apache-prepend.php
</Directory>

Apache 서버를 다시 시작하면 모든 것이 다시 작동합니다!

sudo systemctl restart apache2

저도 같은 문제가 있어서 도망치려고 했습니다.

docker run --t -v .:/project php

하려고 했을 때

/project:$ php file.php

저는 이 오류를 당했습니다.

도커의 바인딩된 볼륨을 그렇게 쉽게 사용할 수는 없는 것 같습니다.그래서 용기 안에 있는 볼륨을 복사해서 복사를 했습니다.

docker run --t -v .:/project php
/project:$ cd ..
/:$ cp -r /project /project2
/:$ cd /project2
/project2: $ php file.php

그리고 그것은 성공하였다.

언급URL : https://stackoverflow.com/questions/41289134/how-do-i-resolve-php-fatal-error-unknown-failed-opening-required

반응형