PHP8.0的编译安装与使用(详解) | ucb博客


本站和网页 https://www.dztcy.com/1896.html 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

PHP8.0的编译安装与使用(详解) | ucb博客
首页
小说推荐
恐怖悬疑
现代言情
穿越重生
PHP8.0的编译安装与使用(详解)
admin
2022年2月17日 am11:06
编程学习
​PHP8.0的正式版早已发布,本文就介绍下它的安装,并使用laravel对比下PHP7。
PHP8.0的正式版早已发布,本文就介绍下它的安装,并使用laravel对比下PHP7【推荐:PHP视频教程】
安装与配置
本次使用的操作系统Ubuntu 18.04.4 LTS
安装
1.准备必要库
apt-get install -y autoconf libxml2-dev libsqlite3-dev \
libcurl4-openssl-dev libssl-dev libonig-dev libtidy-dev zlib1g-dev
2.去官网下载8.0正式版 https://www.php.net/releases/8.0/en.php
3.解压安装
tar php-8.0.0.tar.gzcd php-8.0.0
./configure --prefix=/opt/php8 --with-config-file-path=/opt/php8/etc \
--enable-fpm --enable-mysqlnd --enable-opcache --enable-pcntl \
--enable-mbstring --enable-soap --enable-zip --enable-calendar \
--enable-bcmath --enable-exif --enable-ftp --enable-intl --with-mysqli \
--with-pdo-mysql --with-openssl --with-curl --with-gd --with-gettext \
--with-mhash --with-openssl --with-mcrypt --with-tidy --enable-wddx \
--with-xmlrpc --with-zlibmakemake installcp php.ini-production /opt/php/etc/php.inicd /opt/php8/etccp php-fpm.conf.default php-fpm.confcp ./php-fpm.d/www.conf.default ./php-fpm.d/www.conf
4.做个软连接
ln -s /opt/php8/bin/php /usr/bin/php8
5.安装composer
cd /opt/php8/bin/curl -sS https://getcomposer.org/installer | php8ln -s /opt/php8/bin/composer.phar /usr/bin/composer8
composer8 config -g repo.packagist composer https://mirrors.aliyun.com/composer/
6.添加一个php8.0的system service
vim /lib/systemd/system/php8.0-fpm.service
内容如下
[Unit]
Description=The PHP 8.0 FastCGI Process Manager
Documentation=man:php-fpm8.0(8)
After=network.target
[Service]
Type=simple
PIDFile=/var/run/php8.0-fpm.pid
ExecStart=/opt/php8/sbin/php-fpm --nodaemonize --fpm-config /opt/php8/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target
配置
fpm-fpm,php.ini配置
和PHP7一样,注意下用户权限
opcache配置
PHP8多了一个jit配置,如下
[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.jit_buffer_size=100M
opcache.jit=1255
启动
systemctl start php8.0-fpm
laravel
创建一个laravel项目【推荐:laravel视频教程】
cd /opt/web
composer8 create-project --prefer-dist laravel/laravel php8
配置一下.env文件
nginx配置
nginx的配置和PHP7的一致
server {
listen 94;
access_log /tmp/test94.log main;
root /opt/web/php8/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
location ~ \.php {
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
fastcgi_index /index.php;
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
添加一个接口
laravel7的路由写法在laravel8中有点问题,改下RouteServiceProvider.php的写法。 比如API路由,将$this->namespace改为App\Http\Controllers\Api。
public function boot()
$this->configureRateLimiting();
$this->routes(function () {
Route::prefix('api')
->middleware('api')
->namespace('App\Http\Controllers\Api')
->group(base_path('routes/api.php'));
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/web.php'));
});
其他一样,不用修改。
加个测试接口看看:
Route::get('/test','WxController@test');
test接口查一条数据并返回
<?phpnamespace App\Http\Controllers\Api;use App\Models\WareHouses;use Illuminate\Foundation\Auth\Access\AuthorizesRequests;use Illuminate\Foundation\Bus\DispatchesJobs;use Illuminate\Foundation\Validation\ValidatesRequests;use Illuminate\Http\Request;use Illuminate\Routing\Controller as BaseController;class WxController extends BaseController{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
public function test(Request $request)
return WareHouses::find(1)->toarray();
}}
对比测试PHP7
本次使用PHP7.3,接口代码和PHP8一致,两者都开启opcache。
服务器配置是1核2G,用ab简单测试下。
ab -n 100 -c 10
PHP7.3的测试结果如下:
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.10.10 (be patient).....done
Server Software: nginx/1.14.0
Server Hostname: 192.168.10.10
Server Port: 94
Document Path: /api/test
Document Length: 255 bytes
Concurrency Level: 10
Time taken for tests: 0.400 seconds
Complete requests: 10
Failed requests: 0
Total transferred: 5720 bytes
HTML transferred: 2550 bytes
Requests per second: 25.00 [#/sec] (mean)
Time per request: 399.994 [ms] (mean)
Time per request: 39.999 [ms] (mean, across all concurrent requests)
Transfer rate: 13.97 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 8 10 2.1 11 13
Processing: 101 159 42.8 174 228
Waiting: 101 159 42.8 174 228
Total: 114 170 42.0 186 235
Percentage of the requests served within a certain time (ms)
50% 186
66% 186
75% 197
80% 219
90% 235
95% 235
98% 235
99% 235
100% 235 (longest request)
PHP8.0的测试结果如下:
This is ApacheBench, Version 2.3 <$Revision: 1843412 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 192.168.10.10 (be patient).....done
Server Software: nginx/1.14.0
Server Hostname: 192.168.10.10
Server Port: 94
Document Path: /api/test
Document Length: 255 bytes
Concurrency Level: 10
Time taken for tests: 2.441 seconds
Complete requests: 100
Failed requests: 33
(Connect: 0, Receive: 0, Length: 33, Exceptions: 0)
Non-2xx responses: 33
Total transferred: 268489 bytes
HTML transferred: 234720 bytes
Requests per second: 40.97 [#/sec] (mean)
Time per request: 244.096 [ms] (mean)
Time per request: 24.410 [ms] (mean, across all concurrent requests)
Transfer rate: 107.42 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 7 15 18.1 10 132
Processing: 47 210 224.4 106 817
Waiting: 17 118 107.4 101 787
Total: 55 226 222.1 122 828
Percentage of the requests served within a certain time (ms)
50% 122
66% 137
75% 164
80% 289
90% 640
95% 809
98% 820
99% 828
100% 828 (longest request)
相关标签:php8安装
                       
点击上方/下方继续阅读
点击阅读全文
php8安装
聊聊Angular中父子组件间怎么传递数据
上一篇
2022年2月17日 am11:06
javascript中什么是接口
下一篇
2022年2月17日 am11:07
centos
css
css3
docker
es6
Excel
html
html5
java
javascript
jquery
Laravel
Linux
mysql
Node
Nodejs
oracle
php
php字符串
php数组
Python
react
Redis
thinkphp
vue
Vue3
word
军事历史
前端
古代言情
叶凡
叶辰
奇幻玄幻
小说推荐
悬疑惊悚
李云龙
武侠修真
游戏动漫
现代言情
秦风
穿越重生
计算机
软件
都市小说
霸道总裁
首页
小说推荐
恐怖悬疑
现代言情
穿越重生
声明:本站所有资源均来自网络,版权归原公司及个人所有。如有版权问题(点击投诉),请及时与我们,我们在第一时间予以删除,谢谢!
Copyright © 2021 钉子小说 版权所有 蜀ICP备2020031569号-15
网站地图