Rumah > Artikel > pembangunan bahagian belakang > Ajar anda langkah demi langkah cara menyediakan persekitaran php8 (dengan penyelesaian kepada masalah biasa)
Artikel ini disediakan oleh ruangan tutorial php8 untuk memberi anda pengenalan terperinci tentang cara membina persekitaran php8 langkah demi langkah. Saya harap ia akan membantu semua orang.
1. Muat turun
1. Muat turun https://www.php.net/distributions/php-8.0.0.tar.gz ke setempat, pindahkan dan muat naik fail ke /usr /local /src/
2. wget -P /usr/local/src/ https://www.php.net/distributions/php-8.0.0.tar.gz
2. Buka zip, susun, pasang
1. Buka zip
> cd /usr/local/src/ > tar xzf php-8.0.0.tar.gz > cd php-8.0.0
2. Konfigurasikan parameter kompilasi, rujuk https://www.php.net/manual/zh... Pilih apa yang anda perlukan Pilihan untuk
./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
Soalan 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.
Soalan 1 Penyelesaian:
> yum install libxml2-devel
Soalan 2:
configure: error: Package requirements (sqlite3 > 3.7.4) were not met:
Soalan 2 Selesai:
> yum install sqlite-devel
Masalah 3:
configure: error: Package requirements (libcurl >= 7.29.0) were not met:
Masalah 3 Selesai:
> yum install libcurl-devel
Masalah 4:
configure: error: Package requirements (libpng) were not met:
Masalah 4 Selesai:
> yum install libpng libpng-devel
Isu 5:
configure: error: Package requirements (oniguruma) were not met:
Isu 5 Selesai:
> 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
Isu 6:
configure: error: Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0) were not met:
Isu 6 Penyelesaian:
> yum install libzip libzip-devel
Mengkonfigurasi parameter kompilasi dengan jayanya
+--------------------------------------------------------------------+ | 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. Kompilasi kod sumber
> daripada teras cpu sistem. Terdapat peningkatan tertentu dalam prestasi Biasanya, bilangan teras tidak boleh melebihi separuh
4.
5. Tambah pembolehubah persekitaranmake install6 Dapatkan konfigurasi lalai
[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/7 dilaksanakan
> 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 TechnologiesSahkan skrip automula
// 复制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-fpm7. Nota tambahanBeberapa nota pada fail konfigurasi
> chmod +x /etc/init.d/php-fpm # 添加可执行权限
php-fpm. .conf ialah fail konfigurasi yang unik untuk 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: mastephp.ini ialah fail konfigurasi yang diperlukan dalam semua mod php Perbezaan antara keduanya ialah php-fpm.conf ialah konfigurasi fail pengurus proses PHP-FPM dan php.ini ialah fail konfigurasi bagi penghurai PHP Sesetengah versi PHP juga mempunyai fail konfigurasi /fpm.d/www.conf dalam laluan fail konfigurasi Ini ialah fail sambungan bagi fail yang dikonfigurasikan oleh php-fpm.conf, yang boleh membuka paparan fail php -fpm.conf
Kami boleh menggunakan php-fpm.conf untuk mengkonfigurasi log perlahan
Kami boleh mendayakan fungsi log perlahan.
Atas ialah kandungan terperinci Ajar anda langkah demi langkah cara menyediakan persekitaran php8 (dengan penyelesaian kepada masalah biasa). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!