PHPのインストール
[参考記事] Apacheのインストール
[参考記事] PHPをyumでインストールする
[参考記事] GD関数でJPEGライブラリが使用できないとき
PHPをインストールするには、公式サイトよりPHPソースファイルをダウンロードします。
PHP公式サイト
ダウンロード
コマンド(ターミナル)より直接ダウンロードする場合はURLを調べて、wgetコマンドを実行します。
ダウンロード
wget http://jp2.php.net/get/php-5.2.11.tar.gz/from/jp.php.net/mirror
ダウンロードしたファイルが正しいものかどうか検証するには次のコマンドを実行します。
md5sum php-5.2.11.tar.gz
これがダウンロードリンクにあるmd5チェックサムと一致するかを確認します。
解凍
ダウンロードしたファイルは圧縮されいてるため、そのままではインストールできません。
一般的には、/usr/local/srcに解凍します。
解凍後は解凍されたディレクトリに移動します。
tar zxvf php-5.2.11.tar.gz -C /usr/local/src cd /usr/local/src/php-5.2.11/
インストール
[参考記事] MySQLのインストール
[参考記事] PostgreSQLのインストール
[参考記事] zlibのインストール
使用したい設定にあわせてconfigureオプションを指定します。
./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-mbregex --enable-mbstring --enable-zend-multibyte --with-mysql --with-mysqli=/usr/bin/mysql_config --enable-ftp --with-zlib --with-openssl --with-pdo-mysql --with-gd
makeでビルドします。
make
ビルド結果
+--------------------------------------------------------------------+ | License: | | This software is subject to the PHP License, available in this | | distribution in the file LICENSE. By continuing this installation | | process, you are bound by the terms of this license agreement. | | If you do not agree with the terms of this license, you must abort | | the installation process at this point. | +--------------------------------------------------------------------+ Thank you for using PHP. Build complete. Don't forget to run 'make test'.
make testをするのを忘れないでください。とあるので『 make test 』しますが、たまに失敗するようです。
エラーレポートをPHP.netに送るように促される場合は、気にしないで次に進んでもいいかもしれません。
make test
make installでインストールを実行します。
make install
インストール結果
[PEAR] Archive_Tar - installed: 1.3.3 [PEAR] Console_Getopt - installed: 1.2.3 [PEAR] Structures_Graph- installed: 1.0.2 [PEAR] XML_Util - installed: 1.2.1 [PEAR] PEAR - installed: 1.8.0 Wrote PEAR system config file at: /usr/local/etc/pear.conf You may want to add: /usr/local/lib/php to your php.ini include_path Installing PDO headers: /usr/local/include/php/ext/pdo/
インストール時のトラブル
MySQLのヘッダーファイルがない・かクライアントライブラリがない
checking for MySQL UNIX socket location... /var/lib/mysql/mysql.sock configure: error: Cannot find MySQL header files under yes. Note that the MySQL client library is not bundled anymore!
この場合、MySQLのインストールを確認しましょう。
MySQLのサーバ版、クライアント版だけでなく、Headers and librariesのMySQL-develが必要です。
インストール後の設定
PHPのモジュールが組み込まれるように、PHPのインストール時にApacheのhttpd.confに追記がされます。
しかし『 .php 』をPHPファイルとして関連付ける設定まではされていないため、
httpd.confに下記を追記します。
AddType application/x-httpd-php .php
Apacheの再起動
PHPのインストール後にApacheを再起動すると、PHPがweb経由で使用できます。
/usr/local/apache2/bin/apachectl restart
ここで下記のようなエラーが出る場合には、SElinuxが有効になっているせいです。
httpd: Syntax error on line 53 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
/usr/local/apache2/modules/libphp5.so
をApacheの実行権限では呼び出すことができないというエラーです。
まずはSELinuxが有効かどうかを確認します。
/usr/sbin/getenforce
Enforcing と出たらSELinuxは有効、
Permissive と出たらSELinuxは無効です。
有効になっている場合、下記のコマンドで権限を変更します。
chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache2/modules/libphp5.so
関連記事
- PostgreSQLでSCRAM authentication requires libpq version 10 or aboveと出るとき
- Apacheで所有権や書き込み権限があるにも関わらずPermissions deniedが出る場合
- SSDの現在のTBWを調べる方法 SSDの残り寿命 (Windows Linux CentOS)
- RAIDの種類
- ソフトウエアRAIDでストレージを構築しマウントする方法 ディスクの高速化・冗長化
- NTFSのディスクをLinuxにマウントすると読み込み専用でマウントされてしまう
- Ubuntu/Debian/Raspberry PiでChia Network(XCH)をHDDマイニングする方法
- CentOSでChia Network(XCH)をHDDマイニングする方法
- CentOSにHomeBridgeをインストールする方法
- GnuTLS: The Diffie-Hellman prime sent by the server is not acceptable (not long enough).の解決法
- Linux・WindowsでMTUを変更する方法(ジャンボフレーム)
- LinuxでPDFを画像に変換したりテキストを抽出する方法
- Logitec HDDケース(HDD4台用) ガチャベイ LHR-4BNHEU3 LGB-4BNHEU3
- Linuxにffmpegをインストールする方法 CentOS Stream
- SELinuxのpermissiveとdisableの違い
- SELinuxを無効にする方法
- SELinuxの管理で使用するsemanageコマンドをインストールする方法
- LinuxにImageMagickをインストールする方法 CentOS Stream
- Linuxでrarファイルを圧縮・解凍する方法(CentOS)
- NTFSフォーマットのストレージの読み書きが異常に遅い場合
- Linuxで接続されているUSBのバージョンを確認する方法
- Linuxでストレージの型番やシリアルを確認する方法(HDD SSD NVMe)
- CPUやストレージの温度を調べる方法(CPU HDD SSD NVMe)
- CentOS7からCentOS8へのアップグレード
- 各ストレージの速度一覧 規格速度や実効速度(HDD/SSD/M2/NVMe/USBメモリ)
- Poderosa5で「インデックスが配列の境界外です。」と出る場合の対処法(CentOS8 Ubuntu)
- マウントするときに、$MFTMirr does not match $MFT NTFS is either inconsistent, or there is a hardware faultのエラーが出る場合
- Sambaで認証パスワードなし(ゲストユーザー)でアクセスする方法
- Amazon Linux2をローカルのVirtualBoxで起動する方法
- VirtualBox Interfaceが起動していてシャットダウンができないとき
- Gitを自動的にpullする方法(常に最新の状態にする)
- Gitの最新版をインストールする方法(CentOS7に2系をインストール)
- SSHで初めて接続するホストで、接続するかどうかyes/noを聞かれないようにする
- HPのパソコンでVirtualBoxが起動しない(HP ProtectTools Security Manager)
- yumのius(iuscommunity.org)でエラーが出る場合
- iusリポジトリで公開されているパッケージの一覧
- GoogleChromeでSSL接続を強制される設定(HSTS)のキャッシュを消す方法
- phpMyAdminでログイン画面を出さずにデータベースに接続する方法
- さくらサーバ(さくらのレンタルサーバ)でcronを使ってPHPを定時実行する
- php.ini が見つからない時
- PHPでMySQLなどにPDO接続をすると、could not find driverのエラーが出る場合
- ホスト名(ドメイン)をローカルIPに名前解決させる方法(ローカルDNS不要)
- MySQLやMariaDBは標準ではログローテートされない
- SONYのnasneをLinuxにマウントする方法
- 数日おきに設定したcronの実行が1日ずれる理由
- LinuxでNTFS(Windows形式)のフォーマットをする方法
- target is busyやdevice is busyをumountする方法
- /dev/random と /dev/urandom の違い
- 2TBを超えるHDDを増設する方法(パーティション・フォーマット)
- 破損したストレージからのデータ復旧
- HDDやSSDなどのストレージをリスト形式で表示する方法
- blkidコマンドでUUIDが表示されない場合
- HDDやSSDなどのストレージのUUIDを調べる方法
- glibcを更新するとdateコマンドが新元号の令和に対応します
- cron設定ファイルの実体の保存先
- Fail2ban ログを集計して不正アクセスを防ぐ
- mvコマンドの挙動(コピーが完了したものから削除する方法)
- 『Table is marked as crashed and should be repaired』の修復方法
- PostfixサーバからGmailサーバへメールを送信できない場合の対処法
- ImageMagick更新で『PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/imagick.so'』エラーが出る場合
- 起動時に『UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.』と出た場合の修復方法
- kernel-develのインストール
- LinuxサーバでWindowsのファイルシステムNTFSを読み込む方法
- 拡張リポジトリEPELを使用する方法(インストール)
- wgetが遅い場合の対処法
- WgetがFTPでダウンロードできない場合
- WgetがSSLでダウンロードできない場合
- Wgetの基本的な使い方など(ユーザーエージェントの設定・POSTデータの送信)
- lsコマンドで秒を表示する方法(タイムスタンプの書式指定)
- PDO_MYSQLをインストールする方法
- PEAR・PECLをインストールする方法
- シェルスクリプトを実行すると『そのようなファイルやディレクトリはありません』や『コマンドが見つかりません』と出る場合
- 画面のバックライトを消す方法(モニタ電源を消す) vbetool
- telnetの反応がなくなった時に接続を強制的に切断する方法
- サーバの負荷や使用率などを見るコマンドの一覧
- PHPでロードアベレージを表示させる方法
- Apacheで出力されるログを変更する方法 レスポンスにかかった時間やリファラ、ユーザーエージェントを記録する
- ログをリアルタイムに表示させて監視する方法
- 起動時にネットワークを有効にする方法(eth0を起動する方法)
- IPアドレスを変更する方法
- cron実行時の標準出力のメールを飛ばさない方法(cron実行時に毎回メールを飛ばさない)
- cron実行時のPATHなどの環境変数を確認する方法
- cronのメール送信先を指定する方法(cronごとに送信先のメールアドレスを指定する方法)
- cron実行時に『/bin/sh: 〜〜: command not found』と出てcronが実行されない場合
- 『crontab -r』でcronの設定を間違って消してしまった場合の対処法
- cronを実行すると『TERM environment variable not set.』というエラーメールが飛ぶ
- Apacheから2GB以上のファイルをダウンロードしようとすると403エラーが出ます
- Linux起動時の自動ファイルシステムチェックの間隔を変更する、無効にする方法
- [warn] _default_ VirtualHost overlap on port 80, the first has precedence エラー
- yumでupdateするときにconflictsエラーが出る場合 file xxx from install of xxx-jason conflicts with file from package xx.remi
- Gitをyumでインストールする方法
- vsftpdでファイルの所有者をUID(数字)ではなくユーザー名で表示する方法 chrootするとtext_userdb_names=YESできない
- SELinuxが有効になっているサーバではvsftpdのデータ転送が使用できない
- サービスに接続できるユーザー(IP)を制限する Connection closed by foreign host.
- 1枚のNIC(ネットワークカード)に複数のIPアドレスを設定する方法(Linux)
- Apacheを起動するときに、ほかのプロセスによってポートが使用されていた場合
- PEARを更新する方法
- zend_mm_heap corrupted とは
- yum コマンドでTransaction Check Error
- yumを自動で更新チェックする、自動で更新する
- httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
- Apacheをyumでインストールする
- KNOPPIX
- ディレクトリ以下のファイル数、ファイル容量を調べる
- PHPをyumでインストールする
- Linuxでホスト名を変更する方法
- Postfixからpostmaster宛に451Server configuration errorメールが届く
- Postfixの容量制限 (main.cfの設定)
- Debianのインストール
- memcachedのインストール
- Linuxのカーネル情報やディストリビューションを調べるコマンド
- Rubyのインストール
- PostgreSQLのインストール
- zlibのインストール
- Apacheのインストール
- MySQLのインストール
- IPアドレスを調べる
- ファイルを検索するコマンド locate (updatedbの高速化)
- スペシャルファイル
- MergeLog 複数のログファイルを時系列に並べ替える
- CentOS5のインストール
- Another app is currently holding the yum lockとは
- yumで、より新しいパッケージをインストールする方法(CentOS)
- apacheのSSL設定
- Subversionのインストール
- 毎朝午前4時に行われる動作
- /tmpや/var/tmpのファイル消えるタイミング
- ユーザーとグループ
- ログインできるユーザーに変更する
- SSHのインストール
- OpenSSL
- RFC2142で定められた「組織で用意したほうがよいメールアドレス」のガイドライン
- named.local [Bindの設定ファイル]のデフォルト
- localhost.zone [Bindの設定ファイル]のデフォルト
- named.ca [Bindの設定ファイル]のデフォルト
- named.conf [Bindの設定ファイル]のデフォルト
- vsftpd.conf [vsftpd設定ファイル]のデフォルト
- proftpd.conf [Proftpd設定ファイル]のデフォルト
- php.ini [PHP設定ファイル]のデフォルト
- main.cf [Postfix設定ファイル]のデフォルト
- sendmail.mc のデフォルト
- httpd.conf [apache設定ファイル]のデフォルト fedora
- httpd.conf [apache設定ファイル]のデフォルト
- ディレクトリの削除
スポンサーリンク