Extra Form
PHP PHP 7.2

아래와 같이 Conf 파일을 만들고 아파치를 리스타트 시키면  

Syntax 에러가 출력 되면서 apache 가 다운 되어 버립니다.....ㅠㅠ

 

echo "<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 1 days"
    ExpiresByType text/css "access plus 1 days"
    ExpiresByType text/javascript "access plus 1 days"
    ExpiresByType text/x-javascript "access plus 1 days"
    ExpiresByType application/x-javascript "access plus 1 days"
    ExpiresByType application/javascript "access plus 1 days"
    ExpiresByType image/jpeg "access plus 1 days"
    ExpiresByType image/gif "access plus 1 days"
    ExpiresByType image/png "access plus 1 days"
    ExpiresByType image/bmp "access plus 1 days"
    ExpiresByType image/cgm "access plus 1 days"
    ExpiresByType image/tiff "access plus 1 days"
    ExpiresByType audio/basic "access plus 1 days"
    ExpiresByType audio/midi "access plus 1 days"
    ExpiresByType audio/mpeg "access plus 1 days"
    ExpiresByType audio/x-aiff "access plus 1 days"
    ExpiresByType audio/x-mpegurl "access plus 1 days"
    ExpiresByType audio/x-pn-realaudio "access plus 1 days"
    ExpiresByType audio/x-wav  "access plus 1 days"
    ExpiresByType application/x-shockwave-flash  "access plus 1 days"
</IfModule>" >> /etc/httpd/conf.d/mod_expires.conf

 

제가 보았을때 소스는 문제가 없는것 같은데 도통 뭔지 모르겠네요.....ㅠㅠ

 

" " 는 \" \" 같이 작업 보아도 같은 현상입니다.

 

제가 모르는 부분이 있는 것인지 잘못 적용 한 것이 알려 주시면 감사하겠습니다.

잠을 못잤더니 헤롱 거리고 있습니다.....ㅠㅠ

  • profile
    double quote 말고 single quote 로 감싸보세요.
    파일쓰기 말고 echo 만 써서 출력을 미리볼 수 있습니다.
    echo '<IfModule mod_expires.c>
  • profile profile

    감사합니다. 왜 그생각을 못했는지......ㅠㅠ

    잠을 못자서 멍하니 아무 생각도 없었습니다. 다시 바꾸어야 겠습니다....^^

     

    single quote 가 안되어서 다시 이렇게 해결 했습니다.

     

    echo "#mod_expires configuration" > /tmp/httpd.conf_tempfile
    echo "<IfModule mod_expires.c>"   >> /tmp/httpd.conf_tempfile
    echo "    ExpiresActive On"    >> /tmp/httpd.conf_tempfile
    echo "    ExpiresDefault \"access plus 1 days\""    >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType text/css \"access plus 1 days\""       >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType text/javascript \"access plus 1 days\""      >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType text/x-javascript \"access plus 1 days\""        >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType application/x-javascript \"access plus 1 days\"" >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType application/javascript \"access plus 1 days\""    >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType image/jpeg \"access plus 1 days\""    >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType image/gif \"access plus 1 days\""       >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType image/png \"access plus 1 days\""      >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType image/bmp \"access plus 1 days\""        >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType image/cgm \"access plus 1 days\"" >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType image/tiff \"access plus 1 days\""       >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType audio/basic \"access plus 1 days\""      >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType audio/midi \"access plus 1 days\""        >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType audio/mpeg \"access plus 1 days\""        >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType audio/x-aiff \"access plus 1 days\""  >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType audio/x-mpegurl \"access plus 1 days\"" >> /tmp/httpd.conf_tempfile
    echo "      ExpiresByType audio/x-pn-realaudio \"access plus 1 days\""   >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType audio/x-wav \"access plus 1 days\""   >> /tmp/httpd.conf_tempfile
    echo "    ExpiresByType application/x-shockwave-flash \"access plus 1 days\""   >> /tmp/httpd.conf_tempfile
    echo "</IfModule>"   >> /tmp/httpd.conf_tempfile
    cat /tmp/httpd.conf_tempfile >> /etc/httpd/conf.d/mod_expires.conf
    rm -f /tmp/httpd.conf_tempfile

     

  • profile profile
    아~ 안되네요......ㅠㅠ
    졸려서 정신이 없네요. 제가 썻던 방법으로 리로드 시킨거 였습니다.....ㅠㅠ
  • profile

    echo "<IfModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault \"access plus 1 days\"
        ExpiresByType text/css \"access plus 1 days\"
        ExpiresByType text/javascript \"access plus 1 days\"
        ExpiresByType text/x-javascript \"access plus 1 days\"
        ExpiresByType application/x-javascript \"access plus 1 days\"
        ExpiresByType application/javascript \"access plus 1 days\"
        ExpiresByType image/jpeg \"access plus 1 days\"
        ExpiresByType image/gif \"access plus 1 days\"
        ExpiresByType image/png \"access plus 1 days\"
        ExpiresByType image/bmp \"access plus 1 days\"
        ExpiresByType image/cgm \"access plus 1 days\"
        ExpiresByType image/tiff \"access plus 1 days\"
        ExpiresByType audio/basic \"access plus 1 days\"
        ExpiresByType audio/midi \"access plus 1 days\"
        ExpiresByType audio/mpeg \"access plus 1 days\"
        ExpiresByType audio/x-aiff \"access plus 1 days\"
        ExpiresByType audio/x-mpegurl \"access plus 1 days\"
        ExpiresByType audio/x-pn-realaudio \"access plus 1 days\"
        ExpiresByType audio/x-wav  \"access plus 1 days\"
        ExpiresByType application/x-shockwave-flash  \"access plus 1 days\"
    </IfModule>" >> mod_expires.conf

    화일 생성도 잘되고 /etc/httpd/conf.d로 복사해서 적용해도 작동에 문제가 없는데???

    퍼미션문제만 아니면 동작할 것같은데요...

  • profile profile

    본문에도 적었다시피 karma님께서 올리신 방법으로도 해 보았습니다.

    같은 폴더에 다른 .conf 파일을 생성해서 아파치를 리스타트 하면 정상 작동 합니다...ㅠㅠ

    일단은 다른방법으로 해결을 했지만 원인이 뭔지 다시 테스트 해 볼 생각 입니다.

     

    댓글 감사 합니다. 

  • profile
    vi 안되나요? 무슨 70년대도 아니고 왜 터미널에서 파일을 조립하고 계세요;;;
  • profile profile
    ㅋㅋㅋ

    서버에 자동 설치 스크립트를 만드느라 작업중 이었거든요....^^