ホームページ バックエンド開発 PHP8 php8 環境をセットアップする方法を段階的に説明します (一般的な問題の解決策も含めて)。

php8 環境をセットアップする方法を段階的に説明します (一般的な問題の解決策も含めて)。

Oct 21, 2022 pm 04:27 PM
php8

この記事は、php8 チュートリアル コラムとして、php8 環境の構築方法をステップバイステップで詳しく紹介するもので、皆様のお役に立てれば幸いです。

1. ダウンロード

1. https://www.php.net/distributions/php-8.0.0.tar.gz をローカルにダウンロードし、ファイルを /usr/local / にアップロードします。 src/

2.wget -P /usr/local/src/ https://www.php.net/distributions/php-8.0.0.tar.gz

2.解凍、コンパイル、インストール

1、解凍

> cd /usr/local/src/
> tar xzf php-8.0.0.tar.gz
> cd php-8.0.0
ログイン後にコピー

2、コンパイルパラメータの設定。https://www.php.net/manual/zh...を参照して必要なオプションを選択します。

./configure --prefix=/usr/local/php8 --with-config-file-path=/usr/local/php8/etc --with-fpm-user=www --with-fpm-group=www --with-curl --with-openssl --with-mysqli --with-pdo-mysql --with-iconv --with-mhash --with-zlib  --enable-mbstring  --enable-gd   --enable-gd-jis-conv --enable-sockets --enable-fpm --enable- --enable-xml  --enable-pdo  --enable-cli --enable-pcntl --enable-soap --enable-opcache --enable-fileinfo --disable-rpath --enable-mysqlnd --with-zip --enable-simplexml --with-libxml --with-sqlite3 --with-pdo-sqlite --enable-phar --enable-tokenizer --enable-cgi
ログイン後にコピー

問題 1:

configure: error: Package requirements (libxml-2.0 >= 2.9.0) were not met:
Package 'libxml-2.0', required by 'virtual:world', not found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables LIBXML_CFLAGS
and LIBXML_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
ログイン後にコピー

問題 1 が解決されました:

> yum install libxml2-devel
ログイン後にコピー

問題 2:

configure: error: Package requirements (sqlite3 > 3.7.4) were not met:
ログイン後にコピー

問題 2 が解決されました:

> yum install sqlite-devel
ログイン後にコピー

問題3:

configure: error: Package requirements (libcurl >= 7.29.0) were not met:
ログイン後にコピー

問題 3 が解決されました:

> yum install libcurl-devel
ログイン後にコピー

問題 4:

configure: error: Package requirements (libpng) were not met:
ログイン後にコピー

問題 4 が解決されました:

> yum install libpng libpng-devel
ログイン後にコピー

問題 5:

configure: error: Package requirements (oniguruma) were not met:
ログイン後にコピー

問題 5 の解決策:

> cd /usr/local/src/
> wget http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/x86_64/RPMS.classic/liboniguruma5-6.9.6-alt1.x86_64.rpm -O liboniguruma5-6.9.6-alt1.x86_64.rpm
> rpm -ivh liboniguruma5-6.9.6-alt1.x86_64.rpm
> wget http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/x86_64/RPMS.classic/liboniguruma-devel-6.9.6-alt1.x86_64.rpm -O liboniguruma-devel-6.9.6-alt1.x86_64.rpm 
> rpm liboniguruma-devel-6.9.6-alt1.x86_64.rpmcli
ログイン後にコピー

問題 6:

configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met:
ログイン後にコピー

問題 6 の解決策:

> yum install libzip libzip-devel
ログイン後にコピー

コンパイル パラメーターを正常に構成しました

+--------------------------------------------------------------------+
| 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.
ログイン後にコピー

3. コンパイル ソースcode

> make -j2 # このコンパイルはシステム CPU コアの数に依存しており、これによりパフォーマンスがある程度向上します。通常、コアの数は半分を超えてはなりません。

4. インストール

make install
ログイン後にコピー

インストール成功

[root@54skyer php-8.0.0]# make install
Installing shared extensions:     /usr/local/php8/lib/php/extensions/no-debug-non-zts-20200930/
Installing PHP CLI binary:        /usr/local/php8/bin/
Installing PHP CLI man page:      /usr/local/php8/php/man/man1/
Installing PHP FPM binary:        /usr/local/php8/sbin/
Installing PHP FPM defconfig:     /usr/local/php8/etc/
Installing PHP FPM man page:      /usr/local/php8/php/man/man8/
Installing PHP FPM status page:   /usr/local/php8/php/php/fpm/
Installing phpdbg binary:         /usr/local/php8/bin/
Installing phpdbg man page:       /usr/local/php8/php/man/man1/
Installing PHP CGI binary:        /usr/local/php8/bin/
Installing PHP CGI man page:      /usr/local/php8/php/man/man1/
Installing build environment:     /usr/local/php8/lib/php/build/
Installing header files:          /usr/local/php8/include/php/
Installing helper programs:       /usr/local/php8/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/local/php8/php/man/man1/
  page: phpize.1
  page: php-config.1
/usr/local/src/php-8.0.0/build/shtool install -c ext/phar/phar.phar /usr/local/php8/bin/phar.phar
ln -s -f phar.phar /usr/local/php8/bin/phar
Installing PDO headers:           /usr/local/php8/include/php/ext/pdo/
ログイン後にコピー

5. 環境変数の追加

> vim /etc/profile # 在文件末尾加入
# PATH=$PATH:/usr/local/php8/bin/
# export PATH
# :wq 保存并退出
> source /etc/profile # 立刻生效配置
> php -v # 获得如下信息

php -v
PHP 8.0.0 (cli) (built: Dec 15 2020 02:46:59) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.0-dev, Copyright (c) Zend Technologies
ログイン後にコピー

6. デフォルト設定の取得

// 复制php.ini到编译配置参数指定的目录。php.ini在解压的源码目录里
> cp /usr/local/src/php-8.0.0/php.ini-production /usr/local/php8/etc/php.ini
// 复制一份php-fpm的配置模版文件到同级目录 方便备份和修改
> cp /usr/local/php8/etc/php-fpm.conf.default /usr/local/php8/etc/php-fpm.conf
// 复制一份php-fpm的扩展配置模板文件到同级目录 方便备份和修改
> cp /usr/local/php8/etc/php-fpm.d/www.conf.default /usr/local/php8/etc/php-fpm.d/www.conf
// 复制开启自起脚本到系统启动自动加载脚本目录。fpm/init.d.php-fpm在解压的源码目录里
> cp /usr/local/src/php-8.0.0/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
ログイン後にコピー

7. 起動後に自動的に開始

設定コマンドが実行可能

> chmod +x /etc/init.d/php-fpm # 添加可执行权限
ログイン後にコピー

自動起動スクリプトを確認##

> service php-fpm start # 检验服务启动
> service php-fpm stop # 检验服务关闭
// 均正常提示
> chkconfig php-fpm on # 设置开机自动执行php-fpm开机自启动脚本
> reboot # 重启,ssh重连
# 重启后
[root@54skyer ~]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1097/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1061/sshd           
tcp        0      0 0.0.0.0:16379           0.0.0.0:*               LISTEN      1090/redis-server 0 
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      1083/php-fpm: maste
ログイン後にコピー
##7. 追加説明

##設定ファイルに関する説明

##php-fpm.conf は PHP-FPM 構成ファイルに固有です

php.ini はすべての php モードで必要な構成ファイルです

2 つの違いは、php-fpm であることです。 .conf は PHP-FPM プロセス マネージャーの構成ファイル、php.ini は PHP パーサーの構成ファイルです

一部の PHP バージョンでは、構成内に /fpm.d/www.conf 構成ファイルもありますファイルパス

これはphp-fpm.confファイル拡張子ファイルによって構成されます。php-fpm.confファイルを開いて表示できます

; include=fpm.d/*.conf
ログイン後にコピー

php-fpm.confを使用して構成できますスローログ

スローログ機能を有効にすることができます。

rree

以上がphp8 環境をセットアップする方法を段階的に説明します (一般的な問題の解決策も含めて)。の詳細内容です。詳細については、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)

php5とphp8の違いは何ですか php5とphp8の違いは何ですか Sep 25, 2023 pm 01:34 PM

php5 と php8 の違いは、パフォーマンス、言語構造、型システム、エラー処理、非同期プログラミング、標準ライブラリ関数、セキュリティの点です。詳細な紹介: 1. パフォーマンスの向上. PHP5 と比較して、PHP8 はパフォーマンスが大幅に向上しています. PHP8 では、高頻度の実行コードをコンパイルおよび最適化できる JIT コンパイラーが導入されており、それによって実行速度が向上しています; 2. 言語構造の改善、 PHP8 では、いくつかの新しい言語構造と関数が導入されており、PHP8 では名前付きパラメータがサポートされており、開発者はパラメータの順序などの代わりにパラメータ名を渡すことができます。

mysql拡張機能をphp8に追加する方法 mysql拡張機能をphp8に追加する方法 Oct 07, 2023 pm 03:31 PM

mysql 拡張機能を php8 に追加する手順は次のとおりです: 1. MySQL クライアント ライブラリをインストールします; 2. PHP 8 の開発ツールをインストールします; 3. MySQL 拡張機能のソース コードをダウンロードします; 4. MySQL 拡張機能をコンパイルしてインストールします; 5. MySQL 拡張機能; 6. Web サーバーのみを再起動します。

apache2.4+php8.0のインストールと設定方法を図解で詳しく解説 apache2.4+php8.0のインストールと設定方法を図解で詳しく解説 Dec 06, 2022 pm 04:53 PM

この記事では、apache2.4のインストール方法とphp8.0の設定方法を画像付きで詳しく紹介します。apache2.4+php8.0のインストールと設定方法を見てみましょう~

php8でデータベースに接続する方法 php8でデータベースに接続する方法 Nov 16, 2023 pm 02:41 PM

PHP8 は、mysqli と PDO を使用してデータベースに接続できます。詳細な紹介: 1. mysqli を使用して、データベース サーバー名、ユーザー名、パスワード、および接続するデータベース名を渡してデータベースに接続します。次に、`connect_error` 属性を使用して接続が成功したかどうかを確認し、接続が失敗した場合はエラー メッセージを出力します。最後に、`close()` メソッドを呼び出して接続を閉じます; 2. PDO を使用してデータベースに接続し、データベース サーバー名、パスワード、データベース名などを渡して接続します。

php8のデータ型を変換する方法 php8のデータ型を変換する方法 Nov 16, 2023 pm 02:51 PM

php8 データ型のメソッドには、文字列から整数への変換、整数から文字列への変換、文字列から浮動小数点数への変換、浮動小数点数から文字列への変換、配列から文字列への変換、文字列から配列への変換、およびブール値から整数への変換が含まれます。 . 整数からブール値への変換、変数の型の決定と変換。詳細な紹介: 1. 文字列から整数への変換には、intval() 関数と (int) 強制型変換が含まれます; 2. 整数から文字列への変換には、strval() 関数と (string) 強制型変換が含まれます; 3. 変換文字列を浮動小数点ポイントに変換するなどです。

PHP 8 の JIT の詳細 PHP 8 の JIT の詳細 Apr 25, 2022 pm 08:46 PM

この記事では、PHP 8 の JIT について説明し、JIT が解釈プロセスにどのように参加するかについて説明します。

php8 ではどのようなパフォーマンスの向上がありますか? php8 ではどのようなパフォーマンスの向上がありますか? Dec 21, 2023 pm 02:44 PM

php8 のパフォーマンス向上には、1. JIT コンパイラの導入、2. 関数呼び出しの最適化、3. ガベージ コレクション メカニズムの改善、4. 型システムの改善、5. 新しい言語機能、6. 文字列処理の最適化、7.配列処理の改善、8. 新しいメモリ管理メカニズムの導入、9. コード生成の最適化。詳細な紹介: 1. JIT コンパイラーの導入 PHP8 では、より効率的に実行するために PHP コードをマシンコードに変換できる動的コンパイル技術である JIT コンパイラーが導入されています; 2. 関数呼び出しの最適化など。

php8にはどのような機能があるのでしょうか? php8にはどのような機能があるのでしょうか? Dec 21, 2023 pm 02:54 PM

php8 の機能: 1. JIT コンパイラ; 2. 名前付きパラメータ; 3. 共用体型; 4. アノテーション; 5. コンストラクタ属性の強化; 6. 一致式; 7. nullsafe 演算子; 8. 型システムの改善; 9 、エラー処理の改善; 10. 一貫性の向上。詳細な紹介: 1. JIT コンパイラ、PHP8 は、PHP コードをネイティブ マシン コードにコンパイルするジャストインタイム コンパイル テクノロジを導入し、それによってプログラムの実行速度を向上させます; 2. 名前付きパラメータ、PHP8 は名前付きパラメータをサポートし、関数呼び出し時のパラメータ名など

See all articles