php56 install


Проверка 

# php version
php -v
# mods version
php -r 'foreach (get_loaded_extensions() as $extension) echo "$extension: " . phpversion($extension) . "\n";' | grep mon
# выбор версии apache
a2dismod php5.6
a2enmod php7.0
#for cli
update-alternatives --set php /usr/bin/php7.0
update-alternatives --config php
# рестат апача
/etc/init.d/apache2 restart
# 
apt-get install -y apache2
a2enmod rewrite

Установка     PHP     https://ayesh.me/Ubuntu-PHP-7.2

https://launchpad.net/~ondrej/+archive/ubuntu/php

cat << EOT >> /etc/apt/sources.list 
deb https://ppa.launchpadcontent.net/ondrej/php/ubuntu focal main 
deb-src https://ppa.launchpadcontent.net/ondrej/php/ubuntu focal main 
EOT
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4f4ea0aae5267a6c 
cat << EOT > php.sh
# репозиторий любых версий php 
apt update
apt-get install software-properties-common # добавляет add-apt-repository . иногда её нет 
add-apt-repository ppa:ondrej/php
apt-get update
# установка
apt-get install -y php7.3 composer redis-server nodejs npm nginx
# main
apt-get install -y php7.3-fpm php7.3-mysqli php7.3-curl php7.3-xml php7.3-mbstring   php7.3-dom   php7.3-gd php7.3-imagick php7.3-sqlite3 php7.3-zip
# libapache2-mod-php7.3   # зачем  это ?
#
#sed -i 's/short_open_tag.*=.*Off/short_open_tag = On/' /etc/php/7.3/apache2/php.ini
sed -i 's/short_open_tag.*=.*Off/short_open_tag = On/' /etc/php/7.3/cli/php.ini
sed -i 's/short_open_tag.*=.*Off/short_open_tag = On/' /etc/php/7.3/fpm/php.ini
sed -i 's/session.gc_maxlifetime.*=.*/session.gc_maxlifetime = 18000/' /etc/php/7.3/fpm/php.ini
# размер файлов для загрузки 
sed -i 's/post_max_size.*=.*/post_max_size = 200M/' /etc/php/7.3/fpm/php.ini
sed -i 's/upload_max_filesize.*=.*/upload_max_filesize = 200M/' /etc/php/7.3/fpm/php.ini
echo "client_max_body_size 200M;" >> /etc/nginx/conf.d/defauld.conf
EOT
#
chmod +x php.sh
./php.sh

Делаеть по желанию

# mysql
apt-get install -y mariadb-server
mysql
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
# под обычным юзер создать пустой проект -> tools -> Create Desktop entities
curl https://download.jetbrains.com/webide/PhpStorm-2021.1.tar.gz
tar xf PhpStorm*
rm *.gz
PhpStorm*/bin/phpstorm.sh
# for bitrix
sed -i 's/.*max_input_vars.*=.*1000/max_input_vars = 10000/' /etc/php/7.3/apache2/php.ini
sed -i 's/.*mbstring\.func_overload.*/mbstring.func_overload = 2/' /etc/php/7.3/apache2/php.ini
sed -i 's/.*opcache\.revalidate_freq.*/opcache\.revalidate_freq = 0/' /etc/php/7.3/apache2/php.ini
sed -i 's/.*date\.timezone.*=.*/date\.timezone = Europe\/Moscow/' /etc/php/7.3/apache2/php.ini
sed -i 's/.*display_errors.*=.*/date\display_errors = on/' /etc/php/7.3/apache2/php.ini
sed -i 's/.*mbstring\.internal_encoding.*=.*/mbstring.internal_encoding = utf-8/' /etc/php/7.3/apache2/php.ini
# extra 
apt-get install -y php7.3-dev php7.3-bcmath php7.3-soap php7.3-pgsql php7.3-mongodb  php7.3-ldap
# xdebug
apt-get install -y php7.3-xdebug 
cat <<EOT> /etc/php/7.3/mods-available/xdebug.ini
zend_extension=xdebug.so
xdebug.show_error_trace = 1
xdebug.remote_autostart = 1
xdebug.remote_enable=1
xdebug.remote_connect_back=true
xdebug.idekey=PHP_STORM
xdebug.remote_host=localhost
xdebug.remote_port=9000
EOT

xdebug.remote_port=9003
xdebug.force_display_errors = 1
xdebug.mode=debug


<?php
        ini_set("default_socket_timeout", -1);

 ЛИмит памяти для пхп

ini_set('memory_limit', '512M');
#
php -i | grep memory_limit

 

Для веб приложений (composer, npm, node)

# node
apt-get -y install  nodejs
apt-get -y install  npm
npm install -g bower
npm install -g gulp
#composer
apt-get -y install  composer
#redis
apt-get -y install  redis
#psql
apt-get -y install postgresql postgresql-contrib
# archives 
apt-get install -y unrar p7zip-rar p7zip-full

 

FAQ


# если сбощик не собирает то надо обновиться
npm update
npm install
nodejs node_modules/node-sass/scripts/install.js
npm rebuild node-sass

# если на линукс не работает слежение за файлами
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
# npm установка 
sudo apt install -y libssl1.0-dev nodejs-dev node-gyp npm

добавление в sources list

# php
apt-get install apt-transport-https lsb-release ca-certificates
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
apt-get update
curl -s https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
# node 
apt-get install curl software-properties-common
curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
echo "deb https://deb.nodesource.com/node_10.x stretch main" | tee /etc/apt/sources.list.d/nodesource.list
apt-get update
apt-get install nodejs

пхар исплняемый из консоли 

echo @php "%~dp0deployer.phar" %*  > c:\ffmpeg\bin\dep.cmd

максимальный размер файлов

# максимальные размеры файлов при загрузке
cd /etc/php/7.3
grep -rn upload_max_filesize 
grep -rn post_max_size
cd /etc/nginx
grep -rn client_max_body_size

 

Установка xdebug 2.9.8

# pecl
apt-get install -y php7.3-dev 
wget https://github.com/xdebug/xdebug/archive/refs/tags/2.9.8.tar.gz
tar -xzf 2.9.8.tar.gz
cd xdebug-2.9.8
phpize
./configure --enable-xdebug
make
make install

 

curl -LO https://deployer.org/deployer.phar
mv deployer.phar /usr/local/bin/dep
chmod +x /usr/local/bin/dep
#
curl https://getcomposer.org/composer.phar -o composer
curl https://getcomposer.org/download/2.1.6/composer.phar  -o composer
chmod +x composer
mv composer /usr/local/bin/composer
#
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
nvm install --lts