페도라 27 httpd 500 오류

페도라 27 httpd 500 오류

방금 Fedora를 26에서 27로 업그레이드했습니다. 제가 가장 먼저 알아차린 것은 테스트 목적으로 사용하고 있던 로컬 Apache 서버가 500 오류를 반환하고 있다는 것이었습니다.

이것은 내 가상 호스트를 표시하는 httpd.conf의 일부입니다.

<VirtualHost *:80>

  # Admin email, Server Name (domain name) and any aliases
  ServerAdmin [email protected]
  ServerName  social.loc
  ServerAlias social.loc


  # Index file and Document Root (where the public files are located)
  DirectoryIndex index.php
  DocumentRoot /var/www/html/social/public_html
  <Directory "/var/www/html/social/public_html">
        Options FollowSymLinks
        AllowOverride All

        Order allow,deny
        Allow from all
    </Directory>


  # Custom log file locations
  LogLevel warn
  ErrorLog  /var/www/html/social/logs/error.log
  CustomLog /var/www/html/social/logs/access.log combined

</VirtualHost>

이 내 꺼야sudo systemctl 상태 httpd

● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           └─php-fpm.conf
   Active: active (running) since Wed 2017-11-15 15:46:52 EET; 16min ago
     Docs: man:httpd.service(8)
 Main PID: 25238 (httpd)
   Status: "Total requests: 189; Idle/Busy workers 100/0;Requests/sec: 0.195; Bytes served/sec: 176 B/sec"
    Tasks: 214 (limit: 4915)
   CGroup: /system.slice/httpd.service
           ├─25238 /usr/sbin/httpd -DFOREGROUND
           ├─25240 /usr/sbin/httpd -DFOREGROUND
           ├─25241 /usr/sbin/httpd -DFOREGROUND
           ├─25245 /usr/sbin/httpd -DFOREGROUND
           ├─25246 /usr/sbin/httpd -DFOREGROUND
           └─25247 /usr/sbin/httpd -DFOREGROUND

Nov 15 15:46:52 localhost-localdomain systemd[1]: Starting The Apache HTTP Server...
Nov 15 15:46:52 localhost-localdomain httpd[25238]: AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/httpd/conf/httpd.conf:318
Nov 15 15:46:52 localhost-localdomain httpd[25238]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::dc3a:73be:897d:78c
Nov 15 15:46:52 localhost-localdomain systemd[1]: Started The Apache HTTP Server.

오류 로그의 마지막 몇 줄은 다음과 같습니다.

[Wed Nov 15 15:46:01.665637 2017] [core:alert] [pid 22868:tid 140354590287616] [client 127.0.0.1:59752] /var/www/html/social/public_html/.htaccess: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration
[Wed Nov 15 15:46:01.679234 2017] [core:alert] [pid 22870:tid 140354615301888] [client 127.0.0.1:59754] /var/www/html/social/public_html/.htaccess: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration
[Wed Nov 15 15:46:01.684910 2017] [core:alert] [pid 22872:tid 140354691000064] [client 127.0.0.1:59756] /var/www/html/social/public_html/.htaccess: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration
[Wed Nov 15 15:46:01.693358 2017] [core:alert] [pid 22872:tid 140354657429248] [client 127.0.0.1:59758] /var/www/html/social/public_html/.htaccess: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration
[Wed Nov 15 15:46:01.699123 2017] [core:alert] [pid 22870:tid 140354606909184] [client 127.0.0.1:59760] /var/www/html/social/public_html/.htaccess: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration
[Wed Nov 15 15:46:01.704081 2017] [core:alert] [pid 22868:tid 140354581894912] [client 127.0.0.1:59762] /var/www/html/social/public_html/.htaccess: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration
[Wed Nov 15 15:46:01.708729 2017] [core:alert] [pid 22870:tid 140354581731072] [client 127.0.0.1:59764] /var/www/html/social/public_html/.htaccess: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration
[Wed Nov 15 15:46:01.714027 2017] [core:alert] [pid 22870:tid 140354481280768] [client 127.0.0.1:59766] /var/www/html/social/public_html/.htaccess: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration
[Wed Nov 15 15:46:01.720273 2017] [core:alert] [pid 22872:tid 140354649036544] [client 127.0.0.1:59768] /var/www/html/social/public_html/.htaccess: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration
[Wed Nov 15 15:46:01.725542 2017] [core:alert] [pid 22870:tid 140354598516480] [client 127.0.0.1:59770] /var/www/html/social/public_html/.htaccess: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration

분명히 문제는 다음과 같은 .htaccess 파일 어딘가에 있습니다.

php_value auto_prepend_file /var/www/html/social/public_html/php/autoload.cfg.php

다른 .htaccess 파일을 사용하는 다른 웹 호스트에는 이 문제가 없습니다. 나는 무엇이 잘못되었는지 이해하지 못합니다.

답변1

그것이 문제이다.

예를 들어 PHP-7.1을 실행하고 있다고 가정합니다.

PHP가 libapache2-mod-php7.1에 의해 처리될 때 .htaccess의 php_value 설정은 이 모듈에 의해 처리됩니다.

PHP가 FPM에 의해 처리되면 모든 PHP는 Apache에서 FPM으로 프록시/전달됩니다. + Apache에는 더 이상 php_value에 대한 핸들러가 없습니다.

간단한 수정은 모든 php_value 설정을 .htaccess에서 .htaccess 파일과 동일한 디렉터리에 있는 .user.ini라는 파일로 이동하는 것입니다.

.htaccess + .user.ini 파일 프로세스에는 한 가지 주요 차이점이 있습니다.

.htaccess 파일은 요청이 있을 때마다 읽혀집니다.

.user.ini 파일은 한 번만 읽혀집니다.

즉, .user.ini 파일을 변경하려면 FPM으로 바운스가 필요합니다.

바운스 중지+다시 시작...그래서...

service php7.1-fpm restart

관련 정보