9cubed
ブログ | Tailwind | Vite | Python | Node.js | Linux | PowerShell | その他 | 将棋ウォーズ | 歌の練習
CentOS7

PHP7.4 のインストール

公開日:2019-06-04
更新日:2020-07-21

1. 概要

PHP7.3 をインストールします。
最新の PHP をインストールするには、EPEL と Remi のリポジトリが必要になります。
まだ追加していない場合には、 yum の使い方 を参考にして追加してください。

2. PHP7.4 のインストール


インストール
yum install --enablerepo=remi-php74 php
remi-php74 は無効となっているため、--enablerepo で一時的に有効にします。
状態は「yum repolist all」で確認できます。
有効にしない場合、古いバージョンの php がインストールされます。

以下でバージョンが表示されればインストール完了です。
php -v

apache と PHP を連携するためのモジュールを確認します。
ll /etc/httpd/modules/
libphp7.so がない場合には、PHP をアンインストールして、
異なるリポジトリで再インストールしてください。

3. PHP と apache の連携

PHPファイルの作成
echo '<?php print(date("c")); phpinfo(); ?>' > /var/www/html/index.php

http://192.168.233.100/index.php にアクセスすると、
apache と PHP の連携ができていないため、ソースがそのまま出ます。

apache と PHP を連携させるため、/etc/httpd/conf/httpd.conf を修正します。

「Include conf.modules.d/*.conf」の下に、以下を追記します。
LoadModule php7_module /etc/httpd/modules/libphp7.so

「<IfModule mime_module>」内の一番下に、以下を追記します。
AddType application/x-httpd-php .php

vi で「/Include」と入力すると「Include」の場所を検索できます。「n」と「N」 で次の候補へ移動。
「i」で挿入モード、挿入後「ESC」で抜けて、「:w」で上書き保存、「:q」で終了します。

Apache を再起動します
systemctl restart httpd

http://192.168.233.100/index.php にアクセスして、phpinfo が表示されればOKです。

4. mbstring のインストール

マルチバイト文字の操作を行うので、mbstring をインストールします。

インストール
yum install --enablerepo=remi-php74 php-mbstring

PHPファイルの作成
echo '<?php print(mb_strlen("あ")); ?>' > /var/www/html/test.php

Apache を再起動します
systemctl restart httpd

http://192.168.233.100/test.php にアクセスして、1 と表示されればOKです。

通常、追加したモジュールは、php.ini で extension の追記をして、 モジュールを読み込ませる必要がありますが、 追記なしで mbstring が使用できました。

これは、php.ini の Dynamic Extensions の Note に書いてありますが、
/etc/php.d 配下の ini ファイルは、自動的にロードされるためです。

cat /etc/php.d/20-mbstring.ini
-> extension=mbstring

phpinfo の「Additional .ini files parsed」でも、 ini を読み込んでいることが確認できます。

インストールした mbstring のモジュールは、
rpm -ql php-mbstring
で、/usr/lib64/php/modules/mbstring.so にあることがわかります。
また、php-mbstring のインストール時に、20-mbstring.ini が作成されたこともわかります。

ini には mbstring とだけ書いてありますが、
これは、phpinfo の extension_dir が /usr/lib64/php/modules になっているためです。
そのため相対パスで指定しています。

上記により、mbstring は php.ini を修正せずに使用できましたが、 モジュールをインストールしても有効にならない場合は、 必要に応じて php.ini に extension を追記して、 モジュールを読み込ませる必要があります。

5. タイムゾーンの変更

デフォルトのタイムゾーンは UTC のため、9時間遅れになります。
vi /etc/php.ini で date.timezone を以下のようにしてください。
date.timezone = "Asia/Tokyo"

php.ini の変更後、Apache を再起動してください。

YouTube X

新着一覧

  • SCSS のインストールVite
  • Tailwind CSS のプロジェクトの作成Tailwind
  • TypeScriptのプロジェクトの作成Vite
  • Flask のインストールと動作確認Python
  • 簡易Webサーバーの作成Python
  • pipeline で文章の生成Python
  • pipeline で文章の要約Python
  • 音声から文字起こしPython
  • Node.js のインストールNode.js
  • .ps1(PowerShellスクリプト)を実行可能にするPowerShell

アーカイブ

  • 2025/12
  • 2025/11
  • 2025/10
  • 2025/09
  • 2025/08

以前のカテゴリー一覧

  • CakePHP3
  • CentOS7
  • HTML・CSS・JavaScript
  • Haskell
  • JavaScript
  • Kotlin
  • Laravel5
  • PHP
  • Python
  • Ruby
  • RubyOnRails5
  • TypeScript
  • Vue.js
  • Webサーバ講座
  • Webプログラミング講座
  • jQuery
  • linux
  • パソコン講座
  • ブログ
  • プログラミング講座
  • メモ帳作成講座
  • 数学

Copyright © 9cubed. All Rights Reserved.

プライバシーポリシー 利用規約
▲