phpthreads ?

Всё собираем в один файл и копипастом выполняем в терминале или используем такую команду:

sshpass -p "password" ssh root@192.168.0.3 < ./php-threads-recompile.sh

threads or not threads?

pthreads on ubuntu 18.04 compilation instructions:

#!/usr/bin/env bash

compiling php & pthreads

sudo apt-get update &&
sudo apt-get upgrade &&
sudo apt-get install libzip-dev bison autoconf build-essential pkg-config git-core libltdl-dev libbz2-dev libxml2-dev libxslt1-dev libssl-dev libicu-dev libpspell-dev libenchant-dev libmcrypt-dev libpng-dev libjpeg8-dev libfreetype6-dev libmysqlclient-dev libreadline-dev libcurl4-openssl-dev &&

rm threads &&
mkdir threads && cd threads &&
git clone https://github.com/php/php-src.git &&
cd php-src &&
git checkout php-7.2.2 &&
./buildconf –force &&

Конфигурация сервера (default), для прода конфигурация другая

CONFIGURE_STRING=”
–prefix=/etc/php7
–with-bz2
–with-zlib
–enable-zip
–with-config-file-path=/etc/php7/conf
–with-fpm-user=nginx
–with-fpm-group=nginx
–enable-fpm
–enable-mysqlnd
–enable-mbstring
–enable-sockets
–enable-opcache
–disable-phar
–disable-ipv6
–with-openssl
–with-curl
–with-jpeg-dir=/usr
–with-png-dir=/usr
–with-webp-dir=/usr
–with-xpm-dir=/usr
–with-freetype-dir=/usr
–with-mysql-sock=/var/run/mysqld/mysqld.sock
–with-mysqli=mysqlnd
–without-sqlite3
–without-pdo-sqlite
–without-pear
–enable-pthreads
–with-tsrm-pthreads
–enable-maintainer-zts” &&

./configure $CONFIGURE_STRING &&
make && sudo make install &&

Проверяем установленную версию PHP

/etc/php7/bin/php -r “echo PHP_ZTS;” &&

1 означает что PHP скомпилировался ZTS

chmod o+x /etc/php7/bin/phpize &&
chmod o+x /etc/php7/bin/php-config &&

Переходим к pthreads

если есть пересоздаём папку для тредов

cd /ext
git clone https://github.com/krakjoe/pthreads.git &&
cd pthreads &&
/etc/php7/bin/phpize &&
./configure –prefix=’/etc/php7′ –with-libdir=’/lib/x86_64-linux-gnu’ –enable-pthreads=shared –with-php-config=’/etc/php7/bin/php-config’ &&

make && sudo make install &&

/etc/php7/bin/php -r “print_r(class_exists(‘Thread’));” &&

Проверяем что есть 1, если 1 то threads установлены

cd .. &&
cd .. &&
cd php-src &&
cp php.ini-production /etc/php7/cli/php.ini &&
echo “/etc/php7/lib/php/extensions/no-debug-zts-20170718/pthreads.so” | sudo tee -a /etc/php7/cli/php.ini &&
echo “zend_extension=opcache.so” | sudo tee -a /etc/php7/cli/php.ini &&

rm /usr/bin/php &&
ln -s /etc/php7/bin/php /usr/bin/php &&
php -v &&

rm /home/saleksey/threads -rf

Я думал что писать в Блог это просто

Сщаз! 🙂

Хорошего дня!

Упражнения для усложнения

усложнения для упражнений, которые делаем на фите

 

Читать далее «Упражнения для усложнения»

Создание дополнений для Firefox

Привет, всем! Сегодня напишу немного о том как создать своё дополнение на простых примерах. Велосипед изобретать не будем а будем следовать за разработчиком. Итак, нам понадобиться интернет и немного умения обращения с компьютером. Читать далее «Создание дополнений для Firefox»

Недосыпание

В моей жизни было такое что я часто работал ночью. Поменяв привычки и начав сбалансированно питаться эта проблема ушла.

Немного хорошего контента про недосыпание. Многое об этом я не знал!

Оказывается… Читать далее «Недосыпание»