apache, php-fpm 및 mod_fcgid - 파일에 쓸 수 없습니다

apache, php-fpm 및 mod_fcgid - 파일에 쓸 수 없습니다

Apache, php-fpm 및 mod_fcgid를 설치하고 파일을 쓰려고 합니다.

저는 PHP 풀을 생성했으며 이는 구성 파일입니다.

[test.internal.innovisage.com]

...

user = test
group = test

...

listen.owner = test
listen.group = test

...

listen = /run/php-fpm/test.internal.innovisage.com.sock

이것은 내 Apache 구성 파일입니다.

<Directory /var/www/html/test.internal.innovisage.com/public_html>
        Require all granted
</Directory>
<virtualhost *:80>
ServerName test.internal.innovisage.com
ServerAlias test.internal.innovisage.com
DocumentRoot /var/www/test.internal.innovisage.com/public_html
ErrorLog /var/log/httpd/test.internal.innovisage.com-error.log
CustomLog /var/log/httpd/test.internal.innovisage.com-access.log combined
     DirectoryIndex index.php
     <IfModule mod_fcgid.c>
         Options +ExecCGI
         FcgidConnectTimeout 20
         AddType  application/x-httpd-php         .php
         AddHandler application/x-httpd-php .php
         Alias /php7-fcgi /usr/lib/cgi-bin/php7-fcgi
         ProxyPassMatch " ^/(.*\.php(/.*)?)$" "unix:/run/php-fpm/example.com.sock|fcgi://localhost/var/www/html/example.com/public_html/"
     </IfModule>
</virtualhost>

풀 목록은 다음과 같습니다.

[root@almalinux-8 test]# ps aux | grep test.intern
test        2814  0.0  0.3 425492 12344 ?        S    18:06   0:00 php-fpm: pool test.internal.innovisage.com
test        2815  0.0  0.3 425492 12344 ?        S    18:06   0:00 php-fpm: pool test.internal.innovisage.com
test        2816  0.0  0.3 425492 12344 ?        S    18:06   0:00 php-fpm: pool test.internal.innovisage.com
test        2817  0.0  0.3 425492 12344 ?        S    18:06   0:00 php-fpm: pool test.internal.innovisage.com
test        2818  0.0  0.3 425492 12344 ?        S    18:06   0:00 php-fpm: pool test.internal.innovisage.com

스크립트 소유자가 테스트라고 나와 있습니다.

<?php
echo "<p>Current User ID: ".getmyuid()."</p>";
echo "<p>Current Script Owner: ".get_current_user()."</p>";
phpinfo();
?>

여기에 이미지 설명을 입력하세요.

스크립트를 실행할 때시험사용자는 명령줄에서 파일에 씁니다. 그러나 웹 브라우저에서 실행하면 파일이 생성되지 않습니다.

스크립트를 파일에 작성하기 위해 변경해야 할 다른 사항이 있습니까?

답변1

여기서 이 줄을 수정하는 것을 놓쳤습니다.

ProxyPassMatch " ^/(..php(/.)?)$" "unix:/run/php-fpm/example.com.sock|fcgi://localhost/var/www/html/example.com/public_html/"

이를 올바른 도메인으로 바꾸면 이제 허용되는 모든 위치에 파일을 쓸 수 있습니다.

ProxyPassMatch " ^/(..php(/.)?)$" "unix:/run/php-fpm/test.internal.innovisage.com.sock|fcgi://localhost/var/www/test.internal.innovisage.com/public_html/"

관련 정보