Как включить --enable-soap в php на linux?
вот в чем вопрос. У меня есть PHP 5.2.9 на Apache, и я не могу обновить PHP. Есть ли способ включить SOAP в PHP 5.2.9? Руководство PHP вообще не помогло, когда оно сказало: "чтобы включить поддержку SOAP, настройте PHP с помощью --enable-soap ."Как я могу настроить?
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 источник пакет (как сжатый
.tgztarball, скажем), разверните его где-нибудь, а затем, например, под Linux, запустите сценарий настройки./configure --prefix ...The
configureкоманда, используемая вашим PHP, может отображаться с помощьюphpinfo(). Повторение его идентично должно дать вам точную копию PHP, который вы теперь установили. Добавление--enable-soapзатем позволит мыло в дополнение ко всему остальному.тем не менее, если вы не знакомы с перекомпиляцией PHP,не надо. Это также требуется несколько вспомогательных библиотек, которые могут быть доступны или недоступны -
freetype,gd,libjpeg,XML,expat, и так далее и тому подобное (мало того, что они установлен; они должны быть версия для разработчиков, т. е. с заголовками и так далее; в большинстве дистрибутивов, имеющихlibjpegустановленных может быть недостаточно, и вам может понадобитьсяlibjpeg-devтакже).я должен держать отдельную виртуальную машину со всем установленным для моей цели перекомпиляции.
в случае, если у вас есть Ubuntu в вашей машине, следующие шаги помогут вам:
- сначала проверьте в своем тестовом файле php, есть ли у вас soap (клиент / сервер)или нет, используя phpinfo (); и проверьте результаты в браузере. В случае, если у вас есть это, это будет выглядеть следующим образом ( если не перейти к Шагу 2):
откройте терминал и вставьте: sudo apt-get install РНР-мыло.
перезапустите сервер apache2 в терминале: Service apache2 restart.
чтобы проверить, используйте свой тестовый файл php снова, чтобы быть похожим на мой в шаге 1.

Comments