For Wampp (Windows)
-----------------------------------------------------------------------------------
1. Find out what is your 'PHP Extension Build' version by using phpinfo(). You can use this - http://localhost/?phpinfo=1
2. Download the pthreads that matches your php version (32 bit or 64 bit) and php extension build (currently used VC11). Use this link for download - http://windows.php.net/downloads/pecl/releases/pthreads/
3. Extract the zip -
Move php_pthreads.dll to the 'bin\php\ext\' directory.
Move pthreadVC2.dll to the 'bin\php\' directory.
Move pthreadVC2.dll to the 'bin\apache\bin' directory.
Move pthreadVC2.dll to the 'C:\windows\system32' directory.
4. Open php\php.ini and add
extension=php_pthreads.dll
Now restart server and you are done. Thanks.Инсталација
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Инсталација
Референца за `pthreads.installation.php` со подобрена типографија и навигација.
Инсталација
изданијата на pthreads се хостирани од PECL, а изворниот код од Изданијата на екстензијата CommonMark се хостирани од PECL, а изворниот код е хостиран на, најлесниот пат до инсталацијата е нормалниот PECL пат: » https://pecl.php.net/package/pthreads.
Корисниците на Windows можат да преземат претходно изградени бинарни датотеки од (достапно од PHP 7.2.0) website.
корисниците на Windows треба да го преземат дополнителниот чекор за додавање на pthreadVC2.dll (дистрибуиран со изданијата за Windows) во нивните PATH.
Белешки од корисници 10 белешки
Here is how I got it working under Linux Ubuntu distro - WITHOUT USE PECL:
We will download both, PHP and Pthread without PECL
1 - Get PHP version
For this example we will use version: 5.4.36
# wget http://www.php.net/distributions/php-5.4.36.tar.gz
2- Get Pthreads version:
I'm using an old version but, you could take any one
# wget http://pecl.php.net/get/pthreads-1.0.0.tgz
Extract both, php and pthreads versions
#tar zxvf php-5.4.36.tar.gz
#tar zxvf pthreads-1.0.0.tgz
3- Move Pthreads to php/ext folder. Inside version of PHP downloaded at item 1.
4- Reconfigure sources
# ./buildconf --force
# ./configure --help | grep pthreads
You have to see --enable-pthreads listed. If do not, clear the buidls with this commands:
# rm -rf aclocal.m4
# rm -rf autom4te.cache/
# ./buildconf --force
5 - Inside php folder run configure command to set what we need:
# ./configure --enable-debug --enable-maintainer-zts --enable-pthreads --prefix=/usr --with-config-file-path=/etc
6 - Install PHP
We will run make clear just to be sure that no other crashed build will mess our new one.
# make clear
# make
# make install
7 - Copy configuration file of PHP and add local lib to include path
# cp php.ini-development /etc/php.ini
Edit php.ini and set Include_path to be like this:
Include_path = “/usr/local/lib/php”
9 - Check Modules
# php -m (check pthread loaded)
You have to see pthreads listed
10 - If pthread is not listed, update php.ini
# echo "extension=pthreads.so" >> /etc/php.iniOn Windows the installation is as follows:
Download the pthreads that matches your php version.
I found mine at: http://windows.php.net/downloads/pecl/releases/pthreads/
(I used version 0.44 wich is the newest at the time of writing this, and then downloaded the one for php 5.3 which is the version I am using).
Extract the zip.
Move php_pthreads.dll to the php\ext\ directory.
Move pthreadVC2.dll to the php\ directory.
Open php\php.ini and add
extension=php_pthreads.dll
You are done.I haven't found any proper instructions on how to install pthreads in linux, so I'll leave the steps I followed:
# Required libraries
sudo apt-get install gcc make libzzip-dev libreadline-dev libxml2-dev \
libssl-dev libmcrypt-dev libcurl4-openssl-dev lib32bz2-dev
# Download PHP
cd /usr/local/src
wget http://www.php.net/distributions/php-<version>.tar.gz
( e.g. wget http://www.php.net/distributions/php-5.5.8.tar.gz )
# Extract
tar zxvf php-<version>.tar.gz
(e.g. tar zxvf php-5.5.8.tar.gz )
# Configure
cd /usr/local/src/php-<version>
( e.g. cd /usr/local/src/php-5.5.8 )
./configure --prefix=/usr --with-config-file-path=/etc --enable-maintainer-zts
# Compile
make && make install
( make -j3 && make -j3 install) -> Faster building
# Copy configuration
cp php.ini-development /etc/php.ini
# Install pthreads
pecl install pthreads
echo "extension=pthreads.so" >> /etc/php.ini
# Check installation
php -m | grep pthreadsSadly, this extension seems to be in poor repair. After spending a few hours trying to get it to fly on Fedora 32 with PHP 7.4, I noticed that it's not really maintained since about 2016.
Attempting to compile it with PHP 7.4 results in screens full of nasty compile errors.HOW TO INSTALL IN LINUX SYSTEM'S:
------------------------------------
1) Download PHP sources and Unpack PHP
2) Download PEAR
wget http://pear.php.net/go-pear.phar
php go-pear.phar
3) Download pthreads
Get PECL extension (PECL is a repository for PHP Extensions)
# pecl install pthread-0.4.4
4) Unpack pthreads
copy pthread-0.4.4 to php/ext
(for ./configure allow add option --enable-pthreads)
# mv build/php-src-master/ext/pthreads-master build/php-src-master/ext/pthreads
5) Reconfigure sources
# ./buildconf --force
# ./configure --help | grep pthreads
You should see the appropriate --enable-pthreads option listed as a result, if you do not, then
# rm -rf aclocal.m4
# rm -rf autom4te.cache/
# ./buildconf --force
6) Build PHP
Compile PHP source code
Add:
# ./configure --enable-debug --enable-maintainer-zts --enable-pthreads
7) Installing PHP
# make
# sudo make install
8) Update php.ini
Add in php.ini
extension=pthreads.so
Include_path = “/usr/local/lib/php”
9) Check Modules
php -m (check pthread loaded)
10) Test Thread Class
# php SimpleTest.phpI haven't found any proper instructions on how to install pthreads in linux, so I'll leave the steps I followed:
# Required libraries
sudo apt-get install gcc make libzzip-dev libreadline-dev libxml2-dev \
libssl-dev libmcrypt-dev libcurl4-openssl-dev lib32bz2-dev
# Download PHP
cd /usr/local/src
wget http://www.php.net/distributions/php-<version>.tar.gz
( e.g. wget http://www.php.net/distributions/php-5.5.8.tar.gz )
# Extract
tar zxvf php-<version>.tar.gz
(e.g. tar zxvf php-5.5.8.tar.gz )
# Configure
cd /usr/local/src/php-<version>
( e.g. cd /usr/local/src/php-5.5.8 )
./configure --prefix=/usr --with-config-file-path=/etc --enable-maintainer-zts
# Compile
make && make install
( make -j3 && make -j3 install) -> Faster building
# Copy configuration
cp php.ini-development /etc/php.ini
# Install pthreads
pecl install pthreads
echo "extension=pthreads.so" >> /etc/php.ini
# Check installation
php -m | grep pthreadsThey can still be used in web server if used with exec('php script.php') and php-cli.ini .To compile PHP 7.2 with pthreads on Ubuntu 16.04 or Ubuntu 18.04 or Debian 9 Stretch, use this bash file at https://gist.github.com/agnelvishal/24f42c65af2f6cace1e9387617a0182aAlso, possible by phpbrew
1. phpbrew install php-5.5.30 -- --enable-maintainer-zts
2. phpbrew use php-5.5.30
3. phpbrew ext install pthreads 2.0.10