Включить безопасность потоков в PHP + Apache2 в Ubuntu — компилирование php из исходного кода с помощью pthreads

Я пытаюсь запустить pthreads на моем Ubuntu-сервере (14.04) после того, как я установил Apache2 и PHP5 через apt-get,
Мои начальные шаги:

  1. установлен apache2 — apt-get install apache2
  2. установлен php5 с обычными модулями 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

4

Решение

Создайте файл в корневой папке вашего веб-сервера (или в любой папке, к которой вы можете легко получить доступ из браузера). Внутри файла напишите следующее и сохраните его как phpinfo.php:

<?php phpinfo(); ?>

При доступе к файлу из браузера вы увидите конфигурацию механизма php, который проанализировал файл. Где-то есть путь к файлу php.ini, который нужно изменить.

Обычно, если вы используете mod_php5, тогда ваш php.ini ДОЛЖЕН быть тем, что находится в папке apache2; если вы используете php-fpm, то он должен быть тем же, что и в fpm, но единственный определенный способ узнать, какой из них вы используете — это запустить phpinfo ().

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]