ホームページ バックエンド開発 PHPの問題 Linux での PHP 開発環境のセットアップ

Linux での PHP 開発環境のセットアップ

Nov 06, 2020 am 09:58 AM
linux php

Linux で PHP 開発環境を構築する方法: 最初に PHP、Apache、MySQL インストール パッケージを入手し、次に構成ファイルをコンパイル、インストール、変更し、次に環境変数を設定して起動時に自動的に開始し、最後にテストします。 PHP が正常にインストールされているかどうか。

Linux での PHP 開発環境のセットアップ

推奨: 「PHP ビデオ チュートリアル

LAMP は現在非常に人気のある Web 開発環境です。 LAMP を構築する過程で多くの開発者はさまざまな問題に遭遇すると思いますが、その問題を考えると頭がパンクしそうですが、今日は皆さんの参考のために特別に PHP 開発環境の構築プロセスを記録しました。問題が見つかった場合は修正していただければ幸いです。

1. インストール パッケージを取得します

  • PHP ダウンロード アドレス: http://cn.php.net/distributions/php-7.1.10.tar.gz
  • Apache ダウンロード アドレス: http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.28.tar.gz
  • MySQL ダウンロード アドレス: https://dev. mysql .com/get/Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz

2. Apache

1. をインストールします。依存関係 パッケージのインストール

1) コンパイラ gcc、gcc-c

yum install -y gcc gcc-c++
ログイン後にコピー
をインストールします。

2) 依存関係パッケージ expat-devel、zlib-devel、openssl-devel

yum install -y expat-devel zlib-devel openssl-devel
ログイン後にコピー
をインストールします。

2) 依存関係パッケージ apr

wget http://mirror.bit.edu.cn/apache//apr/apr-1.6.2.tar.gz
tar zxvf apr-1.6.2.tar.gz
cd apr-1.6.2
./configure --prefix=/usr/local/apr
make && make install
ログイン後にコピー
をインストールします

3) 依存関係パッケージ apr-util

wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.6.0.tar.gz
tar zxvf apr-util-1.6.0.tar.gz
cd apr-util-1.6.0
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
ログイン後にコピー
をインストールします

4) 依存関係パッケージ pcre

wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz
tar zxvf pcre-8.41.tar.gz
cd pcre-8.41
./configure --prefix=/usr/local/pcre
make && make install
ログイン後にコピー
をインストールします

注: apr および apr-util インストール パッケージを Apache インストール パッケージの srclib ディレクトリにコピーします。

後続のバージョン番号を付けずに、それぞれ apr、apr-util という名前を付けます

2. インストールプロセス

1) Apache インストールパッケージを解凍します

tar zxvf httpd-2.4.28.tar.gz
ログイン後にコピー

2)

cd httpd-2.4.28
./configure --prefix=/usr/local/server/apache \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--with-pcre=/usr/local/pcre \
--enable-so \
--enable-ssl \
--enable-deflate \
--enable-rewrite \
--enable-headers \
--enable-expires \
--disable-cgid\
--disable-cgi
make && make install
ログイン後にコピー
をコンパイルしてインストールします

3. 設定ファイル httpd.conf

vim /usr/local/server/apache/conf/httpd.conf
ログイン後にコピー
を変更します。

ServerName の前の

# を削除し、ServerName の後の URL を localhost:80

に変更します。 4. httpd をシステム サービスに追加し、起動時に自動的に開始されるように設定します。

1) httpd をシステム サービスに追加します

cp /usr/local/server/apache/bin/apachectl /etc/init.d/httpd
ログイン後にコピー

2) /etc/init.d/httpd を変更し、次の内容を 3 行目に追加します

# chkconfig: 345 85 15
# description: Activates/Deactivates Apache Web Server
ログイン後にコピー

注: コード内の # は削除できません

3) システム サービスをブート時に自動的に開始するように設定します

systemctl enable httpd
ログイン後にコピー

4) Apache を起動します

service httpd start
ログイン後にコピー

3. MySQL のインストール

1. インストール前の準備

1) インストールパッケージを解凍します

tar zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/server/mysql
ログイン後にコピー

2) ユーザーとユーザー グループを作成し、対応する権限を割り当てます

groupadd mysql
useradd -r -g mysql mysql -s /sbin/nologin
ログイン後にコピー

3) 依存関係をインストールします

yum -y install numactl.x86_64
ログイン後にコピー

2. mysql の初期化と基本構成の作成

1) mysql の初期化

cd /usr/local/server/mysql
bin/mysqld \
--initialize \
--user=mysql \
--basedir=/usr/local/server/mysql \
--datadir=/usr/local/server/mysql/data \
ログイン後にコピー

2) mysql

vim my.cnf  # 创建配置文件
ログイン後にコピー
を設定する

この例は、mysql が正常に実行できることを確認するだけです。詳細な設定については、公式ドキュメントを参照してください

[mysqld]
skip-grant-tables
basedir   = /usr/local/server/mysql
datadir   = /usr/local/server/mysql/data
socket    = /usr/local/server/mysql/data/mysql.sock
log-error = /usr/local/server/mysql/log/error.log
port      = 3306

[mysql_safe]
pid-file  = /var/run/mysql/mysqld.pid
log-error = /usr/local/server/mysql/log/error.log

[client]
port   = 3306
socket = /usr/local/server/mysql/data/mysql.sock
ログイン後にコピー

設定ファイルを/etc/ディレクトリにソフトリンクします

ln -s /usr/local/server/mysql/my.cnf /etc/my.cnf
ログイン後にコピー

注: ソフト リンクの作成時にファイルが存在することを確認するメッセージが表示された場合は、/etc/my.cnf を削除してからソフト リンクを作成できます

3) 情報を保存するデータベースを作成する 必要なディレクトリとファイル

mkdir /usr/local/server/mysql/data
mkdir /usr/local/server/mysql/log
mkdir /var/run/mysql
touch /usr/local/server/mysql/log/error.log
ログイン後にコピー

4) ディレクトリ所有者を設定します

chown -R mysql:mysql /usr/local/server/mysql/
chown -R mysql:mysql /var/run/mysql/
ログイン後にコピー

3. 環境変数の設定と起動時の自動起動

1) 環境変数の設定

プロファイル ファイルの編集

vim /etc/profile
ログイン後にコピー

次の情報をプロフィールの最後に追加します

export PATH=$PATH:/usr/local/server/mysql/bin
ログイン後にコピー

環境変数をすぐに有効にする

source /etc/profile
ログイン後にコピー

2) ブート時の自動起動を設定します

cp support-files/mysql.server /etc/init.d/mysqld  
chkconfig --add mysqld
chkconfig mysqld on
ログイン後にコピー

4. ファイアウォール設定

CentOS ではデフォルトでファイアウォールが有効になっています。以下では、ファイアウォールを使用して 3306l ポートを開きます

1)有効にする前にまずポート 3306 が開いているかどうかを確認してください

firewall-cmd --query-port=3306/tcp
ログイン後にコピー

2) オンになっていない場合は、ファイアウォールをオンにします。

3) ポート 3306

systemctl start firewalld.service
ログイン後にコピー
を一時的に開くか永続的に開くかを選択できます 4) ファイアウォールを再起動します

firewall-cmd --add-port=3306/tcp  # 临时开启3306端口  
firewall-cmd --permanent --zone=public --add-port=3306/tcp  # 永久开启3306端口
ログイン後にコピー
5. mysqlを起動し、rootユーザーのパスワードを設定します

1) mysql

firewall-cmd --reload
ログイン後にコピー
を起動します 2) root ユーザーのパスワードを設定します

/usr/local/server/mysql/support-files/mysql.server start  # 启动MySQL
/usr/local/server/mysql/bin/mysql -uroot -p  # 这里直接回车,无须输入密码
ログイン後にコピー
注 1: パスワードの変更に成功したら、設定ファイルの Skip-grant-tables からログアウトします。

mysql を再起動し、root ユーザーを使用して再度ログインし、次のコードを実行します。

リーリー

注 2: パスワードを 2 回リセットするのはシステム要件であり、そうしないとデータベースを操作できなくなります。

6. リモート アクセス

1)任意のホストへのアクセスを許可する mysql 権限

use mysql;
update user set authentication_string=password('root') where user='root';
exit;
ログイン後にコピー
2) 権限の変更を有効にする

set password=password('root');
ログイン後にコピー

4. PHP のインストール

1. インストール手順

1) 依存関係パッケージ libxml-devel

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your password' WITH GRANT OPTION;
ログイン後にコピー
をインストールします。 2) PHP インストール パッケージを解凍します。

FLUSH PRIVILEGES;
ログイン後にコピー
3)

yum -y install libxml2-devel
ログイン後にコピー
をコンパイルしてインストールします

2. php.ini を設定します

1) 設定ファイルを PHP インストール ディレクトリにコピーします

tar zxvf php-7.1.10.tar.gz
ログイン後にコピー
2) php.ini

cd php-7.1.10
./configure --prefix=/usr/local/server/php \
--with-apxs2=/usr/local/server/apache/bin/apxs \
--with-config-file-path=/usr/local/server/php \
--with-pdo-mysql
make && make install
ログイン後にコピー
を生成します。

3. httpd.conf

を変更します。

载入PHP模块,如httpd.conf中有下列代码则直接去掉前面#即可,没有则加入

LoadModule php7_module modules/libphp7.so
ログイン後にコピー

在底部加入以下代码使得Apache可以解析php文件

<IfModule mod_php7.c>
	AddType application/x-httpd-php .php
</IfModule>
ログイン後にコピー

找到如下代码,在index.html后面加入index.php

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
ログイン後にコピー

重启Apache

service httpd restart
ログイン後にコピー

 

    4. 测试PHP是否成功安装

创建/usr/local/server/apache/htdocs/index.php

vim /usr/local/server/apache/htdocs/index.php
ログイン後にコピー

在index.php中编写以下代码

<?php

   phpinfo();

?>
ログイン後にコピー

如果出现以下页面则安装成功

以上がLinux での PHP 開発環境のセットアップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 一致式(PHP 8)とそれがスイッチとどのように異なるかを説明します。 Apr 06, 2025 am 12:03 AM

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

クロスサイトリクエストフォーファリー(CSRF)とは何ですか?また、PHPにCSRF保護をどのように実装しますか? クロスサイトリクエストフォーファリー(CSRF)とは何ですか?また、PHPにCSRF保護をどのように実装しますか? Apr 07, 2025 am 12:02 AM

PHPでは、予測不可能なトークンを使用して、CSRF攻撃を効果的に防ぐことができます。特定の方法には次のものが含まれます。1。フォームのCSRFトークンを生成および埋め込みます。 2.リクエストを処理するときにトークンの有効性を確認します。

PHP関数引数と配列の開梱で...(SPLAT)演算子の目的と使用について説明してください。 PHP関数引数と配列の開梱で...(SPLAT)演算子の目的と使用について説明してください。 Apr 06, 2025 am 12:07 AM

PHPの...(SPLAT)演算子は、機能パラメーターと配列を開梱するために使用され、コードのシンプルさと効率を向上させます。 1)関数パラメーター解放:アレイ要素をパラメーターとして関数に渡します。 2)配列の開梱:アレイを別の配列または関数パラメーターに解除します。

どのようにしてクラスが拡張されたり、PHPでメソッドがオーバーライドされたりするのを防ぐことができますか? (最終キーワード) どのようにしてクラスが拡張されたり、PHPでメソッドがオーバーライドされたりするのを防ぐことができますか? (最終キーワード) Apr 08, 2025 am 12:03 AM

PHPでは、最終的なキーワードを使用して、クラスが継承されないようにし、メソッドが上書きされます。 1)クラスを決勝としてマークする場合、クラスを継承することはできません。 2)メソッドを最終的にマークする場合、メソッドはサブクラスによって書き換えられません。最終的なキーワードを使用すると、コードの安定性とセキュリティが保証されます。

rootとしてmysqlにログインできません rootとしてmysqlにログインできません Apr 08, 2025 pm 04:54 PM

ルートとしてMySQLにログインできない主な理由は、許可の問題、構成ファイルエラー、一貫性のないパスワード、ソケットファイルの問題、またはファイアウォール傍受です。解決策には、構成ファイルのBind-Addressパラメーターが正しく構成されているかどうかを確認します。ルートユーザー許可が変更されているか削除されてリセットされているかを確認します。ケースや特殊文字を含むパスワードが正確であることを確認します。ソケットファイルの許可設定とパスを確認します。ファイアウォールがMySQLサーバーへの接続をブロックすることを確認します。

PHPで厳密なタイプ(declare(strict_types = 1);)を説明します。 PHPで厳密なタイプ(declare(strict_types = 1);)を説明します。 Apr 07, 2025 am 12:05 AM

PHPの厳格なタイプは、declare(strict_types = 1)を追加することで有効になります。ファイルの上部に。 1)関数パラメーターのタイプチェックと戻り値を強制して、暗黙の型変換を防ぎます。 2)厳格なタイプを使用すると、コードの信頼性と予測可能性を改善し、バグを減らし、保守性と読みやすさを向上させることができます。

c言語条件付き編集:初心者向けの詳細なガイドへの実践的なアプリケーション c言語条件付き編集:初心者向けの詳細なガイドへの実践的なアプリケーション Apr 04, 2025 am 10:48 AM

c言語条件付きコンパイルは、コンパイル時間条件に基づいてコードブロックを選択的にコンパイルするメカニズムです。導入方法には、#IFおよび#ELSEディレクティブを使用して、条件に基づいてコードブロックを選択します。一般的に使用される条件付き式には、STDC、_WIN32、Linuxが含まれます。実用的なケース:オペレーティングシステムに従って異なるメッセージを印刷します。システムの数字数に応じて異なるデータ型を使用します。コンパイラに応じて、異なるヘッダーファイルがサポートされています。条件付きコンパイルにより、コードの移植性と柔軟性が向上し、コンパイラ、オペレーティングシステム、CPUアーキテクチャの変更に適応できます。

See all articles