방금 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