아파치 httpd.conf에서 PHP를 설정하는 방법

PHP 모듈의 설정은 httpd.conf에 쓰지 않아도 좋다 라는 것을 보고 편리하다고 생각했기 때문에 해 보았다.
  • 환경
  • macOS Mojave 버전 10.14.3
  • Apache 2.4.37 (Unix)
  • PHP 7.3.1 (cli)


  • PHP 정보 확인


    $ which php
    /usr/local/bin/php
    
    $ php -v
    PHP 7.3.1 (cli) (built: Jan 10 2019 13:15:37) ( NTS )
    Copyright (c) 1997-2018 The PHP Group
    Zend Engine v3.3.1, Copyright (c) 1998-2018 Zend Technologies
        with Zend OPcache v7.3.1, Copyright (c) 1999-2018, by Zend Technologies
    
    $ php --ini | grep php.ini
    Configuration File (php.ini) Path: /usr/local/etc/php/7.3
    Loaded Configuration File:         /usr/local/etc/php/7.3/php.ini
    

    PHP용 구성 파일 만들기



    Include로 지정하는 디렉토리에 PHP용의 설정 파일을 만든다.
    이 경우 /usr/local/etc/httpd/extraphp71.conf를 만듭니다.

    PHP용 구성 파일 만들기
    $ vi /usr/local/etc/httpd/extra/php73.conf
    
    # httpd.confにをincludeする設定ファイル
    #
    # PHPの場所 : /usr/local/bin/php
    # 対象バージョン : PHP 7.3.1 (cli) (built: Jan 10 2019 13:15:37) ( NTS )
    #
    # これ↓をhttpd.confに追記する
    #Include /usr/local/etc/httpd/extra/php73.conf
    
    #
    # AddType allows you to add to or override the MIME configuration
    # file specified in TypesConfig for specific file types.
    #
    AddType application/x-httpd-php .php
    
    #
    # Dynamic Shared Object (DSO) Support
    #
    # To be able to use the functionality of a module which was built as a DSO you
    # have to place corresponding `LoadModule' lines at this location so the
    # directives contained in it are actually available _before_ they are used.
    # Statically compiled modules (those listed by `httpd -l') do not need
    # to be loaded here.
    #
    LoadModule php7_module "/usr/local/Cellar/php/7.3.1/lib/httpd/modules/libphp7.so"
    
    #
    # DirectoryIndex: sets the file that Apache will serve if a directory
    # is requested.
    #
    <IfModule dir_module>
        DirectoryIndex index.php
    </IfModule>
    
    #
    # php.iniの場所
    #
    PHPIniDir "/usr/local/etc/php/7.3/php.ini"
    
    
    # 保存して確認する。
    $ ls -l /usr/local/etc/httpd/extra/ | grep php
    -rw-r--r--  1 mana  apache   1224 12 21 00:26 php71.conf #<<< バージョン違いもあると便利
    -rw-r--r--  1 mana  apache   1065  3  3 18:50 php73.conf
    

    httpd.conf에 만든 설정 파일 설정



    httpd.conf의 맨 마지막
    # PHPの設定
    # Include /usr/local/etc/httpd/extra/php71.conf
    Include /usr/local/etc/httpd/extra/php73.conf
    


    # 起動する
    $ apachectl start
    

    보자 ... 할 수 있었다! 편리하다.

    좋은 웹페이지 즐겨찾기