rhymix 설치 도중 500에러가 계속 뜹니다...
CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.4 |
서버 환경: nginx1.18.0 php7.4.11 mariadb10.5.5
약관 동의 누르고 다음 버튼을 누르면 500에러가 뜨면서 진행이 되질 않습니다.
아래는 에러 로그 입니다.
2020/09/30 13:32:44 [error] 4969#4969: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Call to undefined method ComposerAutoloaderInit1e37ff09eb6590c7436f139ffd9070de::getLoader() in /var/www/html/vendor/autoload.php:7
Stack trace:
#0 /var/www/html/common/autoload.php(184): require_once()
#1 /var/www/html/index.php(40): require('/var/www/html/c...')
#2 {main}
thrown in /var/www/html/vendor/autoload.php on line 7" while reading response header from upstream, client: {IP주소}, server: {도메인}, request: "POST / HTTP/2.0", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "{도메인}", referrer: "https://{도메인}/"
Stack trace:
#0 /var/www/html/common/autoload.php(184): require_once()
#1 /var/www/html/index.php(40): require('/var/www/html/c...')
#2 {main}
thrown in /var/www/html/vendor/autoload.php on line 7" while reading response header from upstream, client: {IP주소}, server: {도메인}, request: "POST / HTTP/2.0", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "{도메인}", referrer: "https://{도메인}/"
fpm 설정 완료했는데도 오류가 발생하네요 ㅠㅠ..
nginx conf파일 중 php 설정은 아래와 같이 해놨습니다.
location ~ \.php$ {
#try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
nginx 초보로써 정말 막막하네요.. ㅠㅠ
어떻게 해결해야 할지 조언좀 부탁드립니다
댓글 11
php7.4-fpm을 안적어서 그런거 아닌가요?
답변 감사합니다
vendor 폴더 내용 중 일부가 제대로 업로드되지 않은 것 같습니다.
조언 감사합니다
에러메시지를 보면 vendor/autoload.php 7번째 줄에서 어떤 클래스를 호출하고 있는데, 그 클래스가 존재하지 않는다고 에러를 뿜고 있습니다. 라이믹스 실행 도중에 발생하는 오류이지, FPM 세팅 문제가 아닙니다.
그런데 라이믹스 정식버전 기준으로 문제의 클래스는 vendor/composer/autoload_real.php에서 선언되어 있고, vendor/autoload.php 7번째 줄에서 클래스를 호출하기 전에 5번째 줄에서 해당 파일을 콕 찝어 인클루드하고 있습니다. 따라서 라이믹스 정식버전 기준으로는 위와 같은 오류가 발생할 수 없습니다.
따라서 1) 위의 파일들이 정상적으로 업로드되지 않았거나, 2) 누군가가 composer를 사용하여 vendor 폴더의 내용을 임의로 수정한 후, 수정한 파일과 원본 파일이 뒤섞인 것으로 추측됩니다. (위의 파일들은 composer에서 자동생성하므로, composer를 사용하여 다른 프로그램을 추가로 설치한 경우 클래스명이 달라질 수 있습니다.) 위에서 언급된 두 파일의 내용을 제가 링크해드린 원본과 비교해 보시기 바랍니다.
제가 방금 확인 한 결과 autoload.php 및 autoload_real.php 파일의 무결성에는 문제가 없었고 혹시 몰라서 아예 directory root을 다른 directory로 변경하여 git clone으로 새로 받아도 보고 파일 자체를 sftp로 새로 업로드해봐도 해당 문제가 계속 일어났습니다.
혹시 몰라 selinux도 비활성화 해 보았지만 다른 오류인것으로 보입니다.. ㅠㅠ
서버 새로 세팅한 후 한번 더 시도해보겠습니다. 빠른 답변 정말 감사합니다.
다른 CMS 모두 비슷한 오류가 발생하는것으로 보아 라이믹스의 문제가 아니라 php-fpm 또는 nginx 설정문제인것같습니다.
그냥 nginx를 삭제하고 apache로 재구축하여 라이믹스 설치완료했습니다.
즐거운 추석 보내시기 바랍니다. 감사합니다.
https://www.github.com/woosungchoi/docker-rhymix/tree/main/nginx%2Fconf.d
한번 참조해보시면 좋을 듯 합니다.
답변 감사합니다.
즐거운 추석 되세요.