질문/조언질답게시판
Extra Form
PHP PHP 7.4
CMS Rhymix

서버 환경: 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://{도메인}/"


 

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;
    }

 

nginx 초보로써 정말 막막하네요.. ㅠㅠ

어떻게 해결해야 할지 조언좀 부탁드립니다

  • profile
    unix:/var/run/php-fpm/php7.4-fpm.sock;
    php7.4-fpm을 안적어서 그런거 아닌가요?
  • profile profile
    유닉스 소켓명은 제대로 입력된것같습니다.
    답변 감사합니다
  • profile

    vendor 폴더 내용 중 일부가 제대로 업로드되지 않은 것 같습니다.

  • profile profile
    안타깝게도 해당 문제가 아닌것 같습니다..
    조언 감사합니다
  • profile profile

    에러메시지를 보면 vendor/autoload.php 7번째 줄에서 어떤 클래스를 호출하고 있는데, 그 클래스가 존재하지 않는다고 에러를 뿜고 있습니다. 라이믹스 실행 도중에 발생하는 오류이지, FPM 세팅 문제가 아닙니다.

    그런데 라이믹스 정식버전 기준으로 문제의 클래스는 vendor/composer/autoload_real.php에서 선언되어 있고, vendor/autoload.php 7번째 줄에서 클래스를 호출하기 전에 5번째 줄에서 해당 파일을 콕 찝어 인클루드하고 있습니다. 따라서 라이믹스 정식버전 기준으로는 위와 같은 오류가 발생할 수 없습니다.

    따라서 1) 위의 파일들이 정상적으로 업로드되지 않았거나, 2) 누군가가 composer를 사용하여 vendor 폴더의 내용을 임의로 수정한 후, 수정한 파일과 원본 파일이 뒤섞인 것으로 추측됩니다. (위의 파일들은 composer에서 자동생성하므로, composer를 사용하여 다른 프로그램을 추가로 설치한 경우 클래스명이 달라질 수 있습니다.) 위에서 언급된 두 파일의 내용을 제가 링크해드린 원본과 비교해 보시기 바랍니다.

  • profile profile

    제가 방금 확인 한 결과 autoload.php 및 autoload_real.php 파일의 무결성에는 문제가 없었고 혹시 몰라서 아예 directory root을 다른 directory로 변경하여 git clone으로 새로 받아도 보고 파일 자체를 sftp로 새로 업로드해봐도 해당 문제가 계속 일어났습니다.
    혹시 몰라 selinux도 비활성화 해 보았지만 다른 오류인것으로 보입니다.. ㅠㅠ
    서버 새로 세팅한 후 한번 더 시도해보겠습니다. 빠른 답변 정말 감사합니다.

  • profile profile
    이상하네요. 혹시 opcache 문제일 수도 있으니 PHP-FPM을 재시작하거나 opcache를 비우고 다시 시도해 보시기 바랍니다.
  • profile profile
    말씀해주신 내용 바탕으로 여러가지 테스트해본 결과 아직 해결은 안되었습니다만..
    다른 CMS 모두 비슷한 오류가 발생하는것으로 보아 라이믹스의 문제가 아니라 php-fpm 또는 nginx 설정문제인것같습니다.
    그냥 nginx를 삭제하고 apache로 재구축하여 라이믹스 설치완료했습니다.
    즐거운 추석 보내시기 바랍니다. 감사합니다.
  • profile
    이상하네요. 저는 도커에서 설치하긴 했지만 이렇게 구성해서 바로 설치되게했거든요.

    https://www.github.com/woosungchoi/docker-rhymix/tree/main/nginx%2Fconf.d

    한번 참조해보시면 좋을 듯 합니다.
  • profile profile
    다음 세팅할때는 도커로 설치하는것도 고려해봐야겠네요.
    답변 감사합니다.
    즐거운 추석 되세요.
  • profile profile
    넵 한방에 SSL 인증서까지 설치되게 셋팅했으니 테스트로 해보셔도 좋을 듯 합니다.