Подтвердить что ты не робот

Как включить --enable-soap в php на linux?

Во многом вопрос. У меня PHP 5.2.9 на Apache, и я не могу обновить PHP. Есть ли способ включить SOAP в PHP 5.2.9? Руководство по PHP не помогло, когда сказано: "Чтобы включить поддержку SOAP, настройте PHP с помощью --enable-soap". Как настроить?

4b9b3361

Ответ 1

Получение SOAP-работы обычно не требует компиляции PHP из исходного кода. Я бы рекомендовал попробовать это только как последний вариант.

Для хорошей меры проверьте, что ваш phpinfo говорит, если что-либо, о расширениях SOAP:

$ php -i | grep -i soap

чтобы убедиться, что это расширение PHP отсутствует.

Предполагая, что вы ничего не видите о SOAP в phpinfo, см., какие пакеты PHP SOAP могут быть доступны вам.

В Ubuntu/Debian вы можете выполнить поиск с помощью

$ apt-cache search php | grep -i soap

или в RHEL/Fedora вы можете выполнить поиск с помощью

$ yum search php | grep -i soap

Обычно для вас доступны два доступных SOAP-пакета PHP, обычно php-soap и php-nusoap. php-soap, как правило, вы получаете с настройкой PHP с помощью --enable-soap.

В Ubuntu/Debian вы можете установить с помощью:

$ sudo apt-get install php-soap

Или в RHEL/Fedora вы можете установить с помощью:

$ sudo yum install php-soap

После установки вам может потребоваться разместить ini файл и перезапустить Apache.

Ответ 2

Что касается вашего вопроса: нет, если активировать с .ini недостаточно, и вы не можете обновить PHP, вы не можете сделать этого. Некоторые модули, но не все, могут быть добавлены без перекомпиляции (zypper install php5-soap, yum install php-soap). Если этого недостаточно, попробуйте установить некоторый класс PEAR для интерпретируемой поддержки SOAP (NuSOAP и т.д.).

В общем, двойная тире --switches предназначена для использования при перекомпиляции PHP с нуля.

Вы загрузите исходный пакет PHP (например, сжатый tar2 t24), разложите его где-нибудь, а затем, например. под Linux запустите configure script

./configure --prefix ...

Команда configure, используемая вашим PHP, может быть показана с помощью phpinfo(). Повторение его идентично должно дать вам точную копию PHP, которую вы сейчас установили. Добавление --enable-soap затем включит SOAP в дополнение ко всему остальному.

Тем не менее, если вы не знакомы с перекомпиляцией PHP, не делайте этого. Он также требует наличия нескольких вспомогательных библиотек, которые вы могли бы или могли бы иметь - freetype, gd, libjpeg, XML, expat и т.д. И т.д. (Этого недостаточно., они должны быть версией разработчика, то есть с заголовками и т.д., в большинстве дистрибутивов установка libjpeg может оказаться недостаточной, и вам может понадобиться также libjpeg-dev).

Мне нужно сохранить отдельную виртуальную машину со всем, что было установлено для моих целей перекомпиляции.

Ответ 3

Если у вас есть Ubuntu на вашем компьютере, следующие шаги помогут вам:

  • Сначала проверьте ваш файл php-тестирования, если у вас есть мыло (клиент/сервер) или нет, используя phpinfo(); и проверить результаты в браузере. Если у вас есть это, это будет выглядеть следующим образом (если не перейти к шагу 2):

введите описание изображения здесь

  1. Откройте ваш терминал и вставьте его: sudo apt-get install php-soap.

  2. Перезагрузите сервер apache2 в терминале: перезапустите службу apache2.

  3. Чтобы проверить, что ваш тестовый файл php снова выглядит как мой на шаге 1.