自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一步步教你編譯PHP 8.3并快速啟動ThinkPHP 8.0框架項目

開發(fā) 前端
本文將介紹如何在本地編譯 PHP 8.3 并快速搭建一個 ThinkPHP 8.0 框架應(yīng)用。通過這篇教程,您可以輕松掌握 PHP 8.3 的編譯和 ThinkPHP 8.0 的使用,快速構(gòu)建您的 PHP Web 應(yīng)用。

本文將介紹如何在本地編譯 PHP 8.3 并快速搭建一個 ThinkPHP 8.0 框架應(yīng)用。通過這篇教程,您可以輕松掌握 PHP 8.3 的編譯和 ThinkPHP 8.0 的使用,快速構(gòu)建您的 PHP Web 應(yīng)用。

安裝PHP8.3

下載

wget https://www.php.net/distributions/php-8.3.1.tar.gz
tar -zxvf php-8.3.1.tar.gz

下載地址:https://www.php.net/downloads

安裝依賴包

sudo apt-get install libfcgi-dev libfcgi0ldbl libjpeg-turbo8-dev \
libmcrypt-dev libssl-dev libc-client2007e  \
libc-client2007e-dev libxml2-dev libbz2-dev  \
libcurl4-openssl-dev libjpeg-dev libpng-dev \
libfreetype6-dev libkrb5-dev libpq-dev \
libxml2-dev libxslt1-dev libzip-dev \
libsqlite3-dev libonig-dev pkg-config \
libxml2-dev libkrb5-dev  libssl-dev \
libbz2-dev libpng-dev  libfreetype6-dev \
libc-client2007e-dev libonig-dev \
libreadline-dev libxslt1-dev libzip-dev

如果安裝的依賴包不存在,請通過命令:apt-cache search freetype 查找相應(yīng)的安裝包安裝即可

編譯

cd php-8.3.1

./configure \
--prefix=/usr/local/php-8.3.1                     \
--with-config-file-path=/usr/local/php-8.3.1/etc   \
--with-zlib-dir \
--with-freetype \
--enable-mbstring \
--enable-soap \
--enable-calendar \
--with-curl \
--with-zlib \
--enable-gd \
--disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--enable-exif \
--enable-bcmath \
--with-mhash \
--with-zip \
--with-pdo-mysql \
--with-mysqli \
--with-mysql-sock=/var/run/mysqld/mysqld.sock \
--with-jpeg \
--with-openssl \
--with-fpm-user=www \
--with-fpm-group=www \
--with-libdir=/lib/x86_64-linux-gnu \
--enable-ftp  \
--with-kerberos \
--with-gettext \
--with-xmlrpc \
--with-xsl \
--enable-opcache \
--enable-intl \
--with-pear \
--enable-fpm

安裝

make
make install

安裝日志

~/build/php-8.3.1$ sudo make install
[sudo] password for www: 
Installing shared extensions:     /usr/local/php-8.3.1/lib/php/extensions/no-debug-non-zts-20230831/
Installing PHP CLI binary:        /usr/local/php-8.3.1/bin/
Installing PHP CLI man page:      /usr/local/php-8.3.1/php/man/man1/
Installing PHP FPM binary:        /usr/local/php-8.3.1/sbin/
Installing PHP FPM defconfig:     /usr/local/php-8.3.1/etc/
Installing PHP FPM man page:      /usr/local/php-8.3.1/php/man/man8/
Installing PHP FPM status page:   /usr/local/php-8.3.1/php/php/fpm/
Installing phpdbg binary:         /usr/local/php-8.3.1/bin/
Installing phpdbg man page:       /usr/local/php-8.3.1/php/man/man1/
Installing PHP CGI binary:        /usr/local/php-8.3.1/bin/
Installing PHP CGI man page:      /usr/local/php-8.3.1/php/man/man1/
Installing build environment:     /usr/local/php-8.3.1/lib/php/build/
Installing header files:          /usr/local/php-8.3.1/include/php/
Installing helper programs:       /usr/local/php-8.3.1/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/local/php-8.3.1/php/man/man1/
  page: phpize.1
  page: php-config.1
Installing PEAR environment:      /usr/local/php-8.3.1/lib/php/
[PEAR] Archive_Tar    - installed: 1.4.14
[PEAR] Console_Getopt - installed: 1.4.3
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util       - installed: 1.4.5
warning: pear/PEAR dependency package "pear/Archive_Tar" installed version 1.4.14 is not the recommended version 1.4.4
[PEAR] PEAR           - installed: 1.10.14
Wrote PEAR system config file at: /usr/local/php-8.3.1/etc/pear.conf
You may want to add: /usr/local/php-8.3.1/lib/php to your php.ini include_path
Installing PDO headers:           /usr/local/php-8.3.1/include/php/ext/pdo/

配置文件

1、通過命令php -v 查看PHP版本

/usr/local/php-8.3.1/bin/php -v
PHP 8.3.1 (cli) (built: Dec 25 2023 21:14:50) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.1, Copyright (c) Zend Technologies

2、核心 php.ini 配置文件

cd /home/www/build/php-8.3.1

sudo cp php.ini-production /usr/local/php-8.3.1/etc/php.ini

注意: 如果文件不存在,則阻止 Nginx 將請求發(fā)送到后端的 PHP-FPM 模塊, 以避免遭受惡意腳本注入的攻擊。定位到 cgi.fix_pathinfo 并將其修改為如下所示:

cgi.fix_pathinfo=0

3、PHP-FPM 進(jìn)程服務(wù)的配置文件 php-fpm.conf

sudo mv /usr/local/php-8.3.1/etc/php-fpm.conf.default /usr/local/php-8.3.1/etc/php-fpm.conf

4、PHP-FPM 擴展配置文件 www.conf

sudo mv /usr/local/php-8.3.1/etc/php-fpm.d/www.conf.default /usr/local/php-8.3.1/etc/php-fpm.d/www.conf

用戶和用戶組配置

配置后

user = www
group = www
 
listen.owner = www
listen.group = www
listen.mode = 0660

給www用戶組分配權(quán)限(非必須)

chown www:www /opt/php-8.3.1/etc/php-fpm.d/www.conf

修改fpm監(jiān)聽的端口

; listen = 127.0.0.1:9000  -- 默認(rèn)是打開的,在前面加; 注釋掉
listen = /var/run/php8.3.1-fpm.sock  -- 添加這一行

創(chuàng)建系統(tǒng)單元文件

接下來,我們將創(chuàng)建系統(tǒng)單元文件,該文件用于啟動和停止PHP-FPM守護(hù)程序。

1、添加服務(wù)

vim /lib/systemd/system/php-8.3.1-fpm.service

具有以下內(nèi)容:

[Unit]
Description=The PHP 8.3.1 FastCGI Process Manager
After=network.target

[Service]
Type=simple
PIDFile=/usr/local/php-8.3.1/var/run/php-fpm.pid
ExecStart=/usr/local/php-8.3.1/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php-8.3.1/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

2、啟用服務(wù)并重新加載systemd

sudo systemctl enable php-8.3.1-fpm.service
Created symlink /etc/systemd/system/multi-user.target.wants/php-8.3.1-fpm.service → /lib/systemd/system/php-8.3.1-fpm.service.

sudo systemctl daemon-reload

3、啟動PHP-FPM 服務(wù)

sudo systemctl start php-8.3.1-fpm.service

4、查看PHP-FPM 服務(wù)狀態(tài)

sudo systemctl status php-8.3.1-fpm.service
● php-8.3.1-fpm.service - The PHP 8.3.1 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php-8.3.1-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2023-12-25 21:27:37 CST; 45s ago
 Main PID: 22472 (php-fpm)
    Tasks: 3 (limit: 4915)
   CGroup: /system.slice/php-8.3.1-fpm.service
           ├─22472 php-fpm: master process (/usr/local/php-8.3.1/etc/php-fpm.conf)
           ├─22483 php-fpm: pool www
           └─22485 php-fpm: pool www

Dec 25 21:27:37 wt-test-develop systemd[1]: Started The PHP 8.3.1 FastCGI Process Manager.

5、開機自啟動

sudo systemctl enable php-8.3.1-fpm.service

安裝ThinkPHP8.0

官方安裝文檔:https://doc.thinkphp.cn/v8_0/setup.html

注意:這里由于有多套環(huán)境,所以安裝需要指定PHP絕對路徑

安裝composer

wget https://getcomposer.org/download/latest-stable/composer.phar

查看composer -v 版本,出現(xiàn)以下界面表示安裝成功

/usr/local/php-8.1/bin/php composer.phar -v
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.6.6 2023-12-08 18:32:26

使用阿里云鏡像源

/usr/local/php-8.1/bin/php composer.phar config -g repo.packagist composer https://mirrors.aliyun.com/composer/

安裝ThinkPHP8.0

/usr/local/php-8.1/bin/php composer.phar create-project topthink/think tp8.0

Creating a "topthink/think" project at "./tp8.0"
Installing topthink/think (v8.0.0)
  - Downloading topthink/think (v8.0.0)
  - Installing topthink/think (v8.0.0): Extracting archive
Created project in /home/www/build/tp8.0
Loading composer repositories with package information
Updating dependencies
Lock file operations: 14 installs, 0 updates, 0 removals
  - Locking league/flysystem (2.5.0)
  - Locking league/mime-type-detection (1.13.0)
  - Locking psr/container (2.0.2)
  - Locking psr/http-message (1.1)
  - Locking psr/log (3.0.0)
  - Locking psr/simple-cache (3.0.0)
  - Locking symfony/deprecation-contracts (v3.3.0)
  - Locking symfony/polyfill-mbstring (v1.28.0)
  - Locking symfony/var-dumper (v6.4.0)
  - Locking topthink/framework (v8.0.3)
  - Locking topthink/think-filesystem (v2.0.2)
  - Locking topthink/think-helper (v3.1.6)
  - Locking topthink/think-orm (v3.0.14)
  - Locking topthink/think-trace (v1.6)

查看安裝目錄結(jié)構(gòu)

cd tp8.0

tree -L 1
.
├── app
├── composer.json
├── composer.lock
├── config
├── extend
├── LICENSE.txt
├── public
├── README.md
├── route
├── runtime
├── think
├── vendor
└── view

Nginx 主機配置

server {
    listen 80;
    server_name 121.128.128.128;
    set $root_path /home/www/build/tp8.0/public;
    root $root_path;
    location / {
        if (!-e $request_filename) {
            rewrite ^(.*)$ /index.php?s=/$1 last;
            break;
        }
    }

    location ~ \.php$ {
        try_files $fastcgi_script_name =404;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php8.3.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_connect_timeout 10000;
        fastcgi_send_timeout 6000;
        fastcgi_read_timeout 6000;
    }

}

訪問該服務(wù)器公網(wǎng)IP,如:http://121.128.128.128 ,看到以下界面表示安裝成功啦!

查看PHP安裝信息,在public目錄新建文件tinywan.php

vim public/tinywan.php

添加以下內(nèi)容,從 PHP 獲取系統(tǒng)信息

<?php
  
phpinfo();

訪問該服務(wù)器公網(wǎng)IP,如 http://121.128.128.128/tinywan.php,查看安裝信息

圖片圖片

責(zé)任編輯:武曉燕 來源: 開源技術(shù)小棧
相關(guān)推薦

2017-01-06 15:13:25

LinuxVim源代碼

2018-06-11 15:30:12

2017-12-25 11:50:57

LinuxArch Linux

2011-05-19 10:39:12

2017-01-19 21:08:33

iOS路由構(gòu)建

2019-03-05 14:09:27

Docker存儲容器

2019-07-09 15:23:22

Docker存儲驅(qū)動

2010-08-10 11:31:36

路由器配置NAT

2009-04-15 09:29:07

2018-12-24 10:04:06

Docker存儲驅(qū)動

2009-08-14 11:35:01

Scala Actor

2010-08-12 10:02:16

路由器NAT

2010-03-04 16:28:17

Android核心代碼

2010-04-07 13:05:57

2024-11-18 17:12:18

C#編程.NET

2016-11-02 18:54:01

javascript

2011-09-05 12:36:08

路由器限速linux路由器

2011-05-10 10:28:55

2009-12-18 16:35:56

如何查找局域網(wǎng)發(fā)生的故

2024-08-30 08:30:29

CPU操作系統(tǒng)寄存器
點贊
收藏

51CTO技術(shù)棧公眾號