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



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

1129   3  

3 ответов:

получение работы 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

обычно вам доступны два пакета PHP SOAP, обычно 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.

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

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

вы бы скачать PHP источник пакет (как сжатый .tgz tarball, скажем), разверните его где-нибудь, а затем, например, под Linux, запустите сценарий настройки

./configure --prefix ...

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

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

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

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

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

enter image description here

  1. откройте терминал и вставьте: sudo apt-get install РНР-мыло.

  2. перезапустите сервер apache2 в терминале: Service apache2 restart.

  3. чтобы проверить, используйте свой тестовый файл php снова, чтобы быть похожим на мой в шаге 1.

Comments

    Ничего не найдено.