环境搭建
源码安装php
都2023年了,官方文档的安装与配置还是这么烂
#系统不一样,安装命令不一样,依赖的包名不一样,哎
lsb_release -a
#No LSB modules are available.
#Distributor ID: Ubuntu
#Description: Ubuntu 20.04 LTS
#Release: 20.04
#Codename: focal
#源码安装php
sudo apt install -y build-essential autoconf automake libtool m4 pkg-config re2c bison libssl-dev libcurl4-openssl-dev libxml2-dev libsqlite3-dev libpng-dev libjpeg-dev libfreetype6-dev libgmp-dev libldap2-dev libonig-dev libsnmp-dev libzip-dev librabbitmq-dev
#下载稳定版,单词 archive 一定要记住,找旧的版本
https://www.php.net/downloads.php → Old archives
# 编译安装
make && make install
# 配置文件
cp php.ini-production /etc/php.ini
#启动php-fpm ERROR: failed to open configuration file '/usr/local/etc/php-fpm.conf': No such file or directory (2)
find / -name php-fpm.conf.default
mv /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
php-fpm -t
#ERROR: No pool defined. at least one pool section must be specified in config file
cd /usr/local/etc/php-fpm.d
mv www.conf.default www.conf
#使用systemctl管理php-fpm
vim /usr/lib/systemd/system/php-fpm.service
vim /usr/local/etc/php-fpm.conf
pid = /usr/local/var/run/php-fpm.pid
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/usr/local/var/run/php-fpm.pid
ExecStart=/usr/local/sbin/php-fpm
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
#查看开机启动的服务列表
systemctl start php-fpm
systemctl enable php-fpm
systemctl list-unit-files|grep enabled
# 下载安装pecl的脚本
wget http://pear.php.net/go-pear.phar
php go-pear.phar
# pecl 常用命令
pecl search yaf #查找 yaf 扩展
pecl install yaf #安装 yaf 扩展
pecl install msgpack #安装 msgpack 扩展
pecl install yar #安装 yar 扩展
pecl install redis #安装 redis 扩展
# 移除已经
pecl uninstall yaf
# 查看已经安装的扩展
pecl list
# 把配置文件放在/etc/php.d/中 /etc/php.d/amqp.ini
[amqp]
extension=amqp.so
#安装composer
https://getcomposer.org/download/
composer self-update
# windows下出现的问题
编译并安装了 PDO 扩展,但没有在 php.ini 中通过 extension=pdo_mysql 启用。
Composer 使用方法
# Composer参考文档 https://docs.phpcomposer.com/
# https://pkg.xyz/
composer config -g repo.packagist composer https://packagist.phpcomposer.com
#解除镜象
composer config -g --unset repos.packagist
#初始化
composer init