Я пытаюсь запустить pthreads на моем Ubuntu-сервере (14.04) после того, как я установил Apache2 и PHP5 через apt-get
,
Мои начальные шаги:
apt-get install apache2
apt-get install php5 libapache2-mod-php5 php5-mcrypt ...
Затем я последовал этому уроку, чтобы запустить pthreads (Пользователь добавил руководство на php.net):
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 on
# 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.ini
Все отлично работает до шага 7.
Существует новый каталог (кажется, make install
— результат) в / USR / Библиотека / PHP .
Теперь я не знаю, как справиться с заменой существующей php-установки моей новой.
Где я должен скопировать php.ini-разработку из шага 7?
Я старался cp php.ini-development /etc/php.ini
но это не повлияло на мою существующую установку.
Как я могу заставить мой новый скомпилированный php работать в / с apache2?
Я нашел три php.ini-файла из первоначальной установки на моем сервере:
/etc/php5/apache2/php.ini
/etc/php5/fpm/php.ini
/etc/php5/cli/php.ini
Создайте файл в корневой папке вашего веб-сервера (или в любой папке, к которой вы можете легко получить доступ из браузера). Внутри файла напишите следующее и сохраните его как phpinfo.php:
<?php phpinfo(); ?>
При доступе к файлу из браузера вы увидите конфигурацию механизма php, который проанализировал файл. Где-то есть путь к файлу php.ini, который нужно изменить.
Обычно, если вы используете mod_php5, тогда ваш php.ini ДОЛЖЕН быть тем, что находится в папке apache2; если вы используете php-fpm, то он должен быть тем же, что и в fpm, но единственный определенный способ узнать, какой из них вы используете — это запустить phpinfo ().
Других решений пока нет …