Tag: CentOS8/PHP

目次

関連ページ

参考情報

基本情報

PHP 7.4のインストール

  • phpのインストール。CentOS 8 にPHP7.4をDNFでインストール | 株式会社オルタ
  • 標準だとPHP 7.2なので7.4を入れる。
    dnf module reset php
    dnf install @php:remi-7.4
    dnf install @php:remi-7.4/devel
    dnf install php-gd php-mysqlnd php-opcache php-pecl-mysql php-pecl-zip php-pecl-apcu
  • 自動起動。
    systemctl start php-fpm
    systemctl enable php-fpm
  • phpパッケージを入れた段階でmod_phpが有効になりapacheと連携できる。

動作確認

  • ドキュメントルートにinfo.phpを作成して表示。/etc/php.iniが読み込まれていることを確認。
    <?php
    phpinfo();
    ?>
    

設定

日本語環境

  • /etc/php.iniを編集
    [Date]
    date.timezone ="Asia/Tokyo"
    [mbstring]
    mbstring.language = Japanese
    mbstring.internal_encoding = UTF-8
    mbstring.http_input = auto
    mbstring.http_output = UTF-8
    mbstring.encoding_translation = On
    mbstring.detect_order = auto
    mbstring.substitute_character = none
    mbstring.func_overload = 1
    
  • 以下のコマンドで再起動する。
    systemctl restart php-fpm

php-fpmの設定

  • /etc/php-fpm.d/www.confを編集。
  • apacheとnginx両方から使えるように実行user/groupをwww-dataにする。
  • 「listen = /run/php-fpm/www.sock」を読み込むためにlisten.owner/groupも変更する必要あり。その場合listen.acl_usersをコメントアウトしないと効果がない。
    user = www-data
    group =	www-data
    
     listen.owner = www-data
     listen.group = www-data
    ;listen.acl_users = apache,nginx
    
  • さらにセッションの保存先にも注意。
    php_value[session.save_handler] = files
    php_value[session.save_path]    = /var/lib/php/session
    php_value[soap.wsdl_cache_dir]  = /var/lib/php/wsdlcache
    ;php_value[opcache.file_cache]  = /var/lib/php/opcache
    
  • php-fpm and nginx session problems - Stack Overflowにあるように、/var/lib/php/sessionをwww-data.www-dataに変更するのは、phpパッケージがアップグレードした際リセットされる危険性があり危険。
  • www-dataをapacheグループとnginxグループに追加する。
    sudo usermod -aG apache www-data
    sudo usermod -aG nginx www-data
  • NginxでWordPressのダッシュボードが正常に表示されない場合、/var/lib/nginxのパーミッションを変更する必要あり?
    chown -R www-data.www-data /var/lib/nginx

トラブルシューティング

Permission denied: AH02454: FCGI: attempt to connect to Unix domain socket /run/php-fpm/www.sock (*) failed

  • www.sockのパーミッションをあわせる
    # chown www-data.www-data /run/php-fpm/www.sock

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-11-07 (土) 21:25:35