Ubuntu 安装 PHP 和 Composer
本文根据 Install / Upgrade to PHP 7.3、Download Composer、Packagist 中国全量镜像、ppa:ondrej/php FAQs 实践并记录。
添加 PPA
sudo apt install -y software-properties-common
sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
安装 PHP
PHP FPM
sudo apt install -y php7.3-fpm
- 软件包
php7.3
、php-common
、php7.3-cli
、php7.3-common
、php7.3-json
、php7.3-opcache
、php7.3-readline
会被自动安装。 - 不能在
php7.3
后安装php7.3-fpm
,否则会和libapache2-mod-php7.3
冲突。 - 安装成功后
php7.3-fpm
会自动启动,并自动设置为开机启动。
PHP 拓展
sudo apt install -y php7.3-bcmath php7.3-curl php7.3-gd php7.3-mbstring php7.3-mysql php7.3-xml php7.3-zip
配置 PHP
TODO:进一步理解和优化配置。
# PHP CLI
sudo sed -i 's/display_errors = .*/display_errors = On/' /etc/php/7.3/cli/php.ini
sudo sed -i 's/error_reporting = .*/error_reporting = E_ALL/' /etc/php/7.3/cli/php.ini
sudo sed -i 's/memory_limit = .*/memory_limit = 512M/' /etc/php/7.3/cli/php.ini
sudo sed -i 's/;date.timezone.*/date.timezone = UTC/' /etc/php/7.3/cli/php.ini
# PHP FPM
sudo sed -i 's/error_reporting = .*/error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED/' /etc/php/7.3/fpm/php.ini
sudo sed -i 's/memory_limit = .*/memory_limit = 512M/' /etc/php/7.3/fpm/php.ini
sudo sed -i 's/upload_max_filesize = .*/upload_max_filesize = 50M/' /etc/php/7.3/fpm/php.ini
sudo sed -i 's/post_max_size = .*/post_max_size = 50M/' /etc/php/7.3/fpm/php.ini
sudo sed -i 's/;date.timezone.*/date.timezone = UTC/' /etc/php/7.3/fpm/php.ini
# PHP Pools
sudo sed -i 's/user = www-data/user = www/' /etc/php/7.3/fpm/pool.d/www.conf
sudo sed -i 's/group = www-data/group = www/' /etc/php/7.3/fpm/pool.d/www.conf
sudo sed -i 's/listen =.*/listen = 127.0.0.1:9000/' /etc/php/7.3/fpm/pool.d/www.conf
sudo sed -i 's/listen.owner.*/listen.owner = www/' /etc/php/7.3/fpm/pool.d/www.conf
sudo sed -i 's/listen.group.*/listen.group = www/' /etc/php/7.3/fpm/pool.d/www.conf
sudo sed -i 's/;listen.mode.*/listen.mode = 0666/' /etc/php/7.3/fpm/pool.d/www.conf
sudo systemctl restart php7.3-fpm
安装 Composer
sudo apt install unzip
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
sudo mv composer.phar /usr/local/bin/composer
配置 Composer
仅中国大陆地区需要配置镜像。
IS_MAINLAND_CHINA=$(curl -s https://api.ip.sb/geoip | grep China)
if [ "$IS_MAINLAND_CHINA" ];then
composer config -g repo.packagist composer https://packagist.laravel-china.org
fi
加速 Composer
composer global require hirak/prestissimo -vvv
填坑
上传文件提示:The file "" does not exist
修改 PHP FPM 配置 /etc/php/7.3/fpm/php.ini
:
upload_max_filesize = 16M
post_max_size = 16M
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: