Включить SOAP в Plesk

Этот вопрос задавался раньше, но ни одно из решений не работает для меня. В основном я следил за этим - включить SOAP на PHP безрезультатно. У меня есть php-скрипт, который выдает следующую ошибку:

Error message: Fatal error: Class 'SoapClient' not found in /var/www/pathtofile/file.php on line 90

Думаю нужно установить мыло на Plesk 11.0.9 и CentOS 5.6 (Final). Вот что у меня по умолчанию в файле php.ini:

[soap]
; Enables or disables WSDL caching feature.
soap.wsdl_cache_enabled=1
; Sets the directory name where SOAP extension will put cache files.
soap.wsdl_cache_dir="/tmp"
; (time to live) Sets the number of second while cached file will be used
; instead of original one.
soap.wsdl_cache_ttl=86400

и php -i | мыло grep дает мне:

'--enable-soap=shared' 

если я запускаю yum install php-soap, я получаю следующее:

Resolving Dependencies
--> Running transaction check
---> Package php-soap.i386 0:5.1.6-32.el5 set to be updated
--> Processing Dependency: php-common = 5.1.6-32.el5 for package: php-soap
--> Running transaction check
---> Package php-common.i386 0:5.1.6-32.el5 set to be updated
--> Processing Conflict: php53-common conflicts php-common
--> Finished Dependency Resolution
php53-common-5.3.3-13.el5_8.i386 from installed has depsolving problems
  --> php53-common conflicts with php-common
Error: php53-common conflicts with php-common

если я запускаю yum install php53-soap, я получаю следующее:

Resolving Dependencies
--> Running transaction check
---> Package php53-soap.i386 0:5.3.3-5.el5 set to be updated
--> Processing Dependency: php53-common = 5.3.3-5.el5 for package: php53-soap
--> Finished Dependency Resolution
php53-soap-5.3.3-5.el5.i386 from base has depsolving problems
  --> Missing Dependency: php53-common = 5.3.3-5.el5 is needed by package php53-soap-5.3.3-5.el5.i386 (base)
Error: Missing Dependency: php53-common = 5.3.3-5.el5 is needed by package php53-soap-    5.3.3-5.el5.i386 (base)

Если я запускаю список yum, доступный | мыло grep я получаю:

php-soap.i386                            5.1.6-32.el5                     base
php53-soap.i386                          5.3.3-5.el5                      base

если я запускаю список yum доступен | grep soap я получаю следующее:

php53-common-5.3.3-13.el5_8
php53-mysql-5.3.3-13.el5_8
php53-xml-5.3.3-13.el5_8
psa-php53-configurator-1.6.2-cos5.build110120608.16
php5-ioncube-loader-4.0.14-12042719
php53-5.3.3-13.el5_8
php53-mbstring-5.3.3-13.el5_8
php-pear-1.4.9-8.el5
psa11-php-fakepackage-11.0.9-cos5.build110120608.16
php53-pdo-5.3.3-13.el5_8
php53-imap-5.3.3-13.el5_8
php53-sqlite2-5.3.2-11070811
php53-cli-5.3.3-13.el5_8
php53-gd-5.3.3-13.el5_8
php53-devel-5.3.3-13.el5_8

Если я запускаю yum list | grep php я получаю:

php-pear.noarch                         1:1.4.9-8.el5                  installed
php5-ioncube-loader.i386                4.0.14-12042719                installed
php53.i386                              5.3.3-13.el5_8                 installed
php53-cli.i386                          5.3.3-13.el5_8                 installed
php53-common.i386                       5.3.3-13.el5_8                 installed
php53-devel.i386                        5.3.3-13.el5_8                 installed
php53-gd.i386                           5.3.3-13.el5_8                 installed
php53-imap.i386                         5.3.3-13.el5_8                 installed
php53-mbstring.i386                     5.3.3-13.el5_8                 installed
php53-mysql.i386                        5.3.3-13.el5_8                 installed
php53-pdo.i386                          5.3.3-13.el5_8                 installed
php53-sqlite2.i386                      5.3.2-11070811                 installed    
php53-xml.i386                          5.3.3-13.el5_8                 installed
psa-php53-configurator.i386             1.6.2-cos5.build110120608.16   installed
psa11-php-fakepackage.i386              11.0.9-cos5.build110120608.16  installed
graphviz-php.i386                       2.12-8.el5.centos              extras
php.i386                                5.1.6-32.el5                   base
php-bcmath.i386                         5.1.6-32.el5                   base
php-cli.i386                            5.1.6-32.el5                   base
php-common.i386                         5.1.6-32.el5                   base
php-dba.i386                            5.1.6-32.el5                   base
php-dbase.i386                          5.1.6-15.el5.centos.1          extras
php-devel.i386                          5.1.6-32.el5                   base
php-gd.i386                             5.1.6-32.el5                   base
php-imap.i386                           5.1.6-32.el5                   base
php-ldap.i386                           5.1.6-32.el5                   base
php-mbstring.i386                       5.1.6-32.el5                   base
php-mcrypt.i386                         5.1.6-15.el5.centos.1          extras
php-mhash.i386                          5.1.6-15.el5.centos.1          extras
php-mssql.i386                          5.1.6-15.el5.centos.1          extras
php-mysql.i386                          5.1.6-32.el5                   base
php-ncurses.i386                        5.1.6-32.el5                   base
php-odbc.i386                           5.1.6-32.el5                   base
php-pdo.i386                            5.1.6-32.el5                   base
php-pear-Auth-SASL.noarch               1.0.2-4.el5.centos             extras
php-pear-DB.noarch                      1.7.13-1.el5.centos            extras
php-pear-Date.noarch                    1.4.7-2.el5.centos             extras
php-pear-File.noarch                    1.2.2-1.el5.centos             extras
php-pear-HTTP-Request.noarch            1.4.2-1.el5.centos             extras
php-pear-Log.noarch                     1.9.13-1.el5.centos            extras
php-pear-MDB2.noarch                    2.4.1-2.el5.centos             extras
php-pear-MDB2-Driver-mysql.noarch       1.4.1-3.el5.centos             extras
php-pear-Mail.noarch                    1.1.14-1.el5.centos            extras
php-pear-Mail-Mime.noarch               1.4.0-1.el5.centos             extras
php-pear-Net-SMTP.noarch                1.2.10-1.el5.centos            extras
php-pear-Net-Sieve.noarch               1.1.5-2.el5.centos             extras
php-pear-Net-Socket.noarch              1.0.8-1.el5.centos             extras
php-pear-Net-URL.noarch                 1.0.15-1.el5.centos            extras
php-pecl-Fileinfo.i386                  1.0.4-3.el5.centos             extras
php-pecl-memcache.i386                  2.2.3-1.el5_2                  extras
php-pgsql.i386                          5.1.6-32.el5                   base
php-readline.i386                       5.1.6-15.el5.centos.1          extras
php-snmp.i386                           5.1.6-32.el5                   base
php-soap.i386                           5.1.6-32.el5                   base
php-tidy.i386                           5.1.6-15.el5.centos.1          extras
php-xml.i386                            5.1.6-32.el5                   base
php-xmlrpc.i386                         5.1.6-32.el5                   base
php53-bcmath.i386                       5.3.3-5.el5                    base
php53-dba.i386                          5.3.3-5.el5                    base
php53-intl.i386                         5.3.3-5.el5                    base
php53-ldap.i386                         5.3.3-5.el5                    base
php53-odbc.i386                         5.3.3-5.el5                    base
php53-pgsql.i386                        5.3.3-5.el5                    base
php53-process.i386                      5.3.3-5.el5                    base
php53-pspell.i386                       5.3.3-5.el5                    base
php53-snmp.i386                         5.3.3-5.el5                    base
php53-soap.i386                         5.3.3-5.el5                    base
php53-xmlrpc.i386                       5.3.3-5.el5                    base

Любые идеи о том, как решить эту проблему с помощью мыла, пожалуйста?


person malta    schedule 10.12.2012    source источник
comment
Какая версия PHP у вас установлена? Мне кажется, вы перепутали PHP 5.3 и PHP‹ 5.3.   -  person Louis Huppenbauer    schedule 10.12.2012
comment
согласно plesk это 5.3.3-13.el5_8   -  person malta    schedule 10.12.2012
comment
Пакет php35-soap недоступен. Вы случайно поменяли местами 3 и 5. Вы уверены, что проблема не в этом, и вы выполнили yum с правильным пакетом?   -  person Louis Huppenbauer    schedule 10.12.2012
comment
Спасибо за эту опечатку - сегодня утром я уже устал :) Разрешение зависимостей --› Запуск проверки транзакции --- › Пакет php53-soap.i386 0:5.3.3-5.el5 установлен для обновления --› Зависимость обработки: php53-common = 5.3.3-5.el5 для пакета: php53-soap --> Завершенное разрешение зависимостей php53-soap-5.3.3-5.el5.i386 из базы имеет проблемы с удалением --> Отсутствует зависимость: php53-common = 5.3.3-5.el5 требуется для пакета php53-soap-5.3.3-5.el5.i386 (базовый) Ошибка: отсутствует зависимость: php53-common = 5.3.3-5.el5 требуется для пакета php53- мыло-5.3.3-5.эл5.и386 (база)   -  person malta    schedule 10.12.2012


Ответы (1)


Основная проблема заключается в том, что по какой-то причине репозитории, о которых вы говорите, имеют версию 5.3.3-5.el5 расширения SOAP, но у вас есть более новая версия остальной части PHP, версия 5.3.3-13.el5_8.

В этом мало смысла, так как -13.el5_8 — это текущая версия, которую я вижу в официальных репозиториях CentOS для всех модулей PHP, включая SOAP.

Возможно, вы захотите sudo yum clean all убедиться, что ваш список репозиториев обновлен и использует правильные источники. Если бы не тот факт, что вы используете набор панелей управления, я бы также порекомендовал старую добрую sudo yum update, но я не уверен, понравится ли это Plesk.

Если выяснится, что вы на самом деле используете одобренные Plesk репозитории, вам нужно сообщить им, чтобы они начали действовать.

person Charles    schedule 10.12.2012
comment
Это ответ от поставщика услуг (godaddy). Возможно, вам потребуется добавить дополнительные репозитории для получения этой конкретной версии, однако мы не сможем помочь с этим. На этой странице есть дополнительная информация об этом — wiki.centos.org/AdditionalResources/Repositories. Должен ли я попробовать использовать sudo yum clean all — это живая среда — повлияет ли это на пользователей? - person malta; 11.12.2012
comment
Нет, очистка различных кешированных битов не должна влиять на пользователей. - person Charles; 11.12.2012
comment
Спасибо @Charles Нужно ли мне делать что-то еще после запуска sudo yum clean all? Нужно ли мне что-то устанавливать/ням? - person malta; 12.12.2012
comment
Нет, это должна быть очистка кеша. После очистки вы возможно сможете снова запустить команду установки. Yum свяжется с серверами репо и запросит у них пакеты. Если вы получаете те же ошибки, то следующим вашим шагом будет выяснение того, почему используемые вами репозитории предоставляют вам устаревшие пакеты. - person Charles; 12.12.2012
comment
Я выполнил команду, а затем снова попробовал команду установки. Та же ошибка: php53-soap-5.3.3-5.el5.i386 from base has depsolving problems - person malta; 12.12.2012
comment
Я заметил, что в этом репозитории есть нужный мне пакет — mirror.centos.org/centos/5/updates/i386/RPMS/. Могу ли я использовать эту команду - rpm -Uhv mirror.centos.org/centos/5/updates/i386/RPMS/? - person malta; 12.12.2012
comment
Я собирался порекомендовать это, но с большой оговоркой. Я собираюсь выделить это жирным шрифтом. Конфигурация вашего репозитория не работает, и вы можете использовать устаревшее программное обеспечение с известными дырами в безопасности. Я настоятельно рекомендую исправить это. Если ваш хостинг-провайдер не поможет вам, вы можете попробовать спросить у суперпользователя или у Unix. Ссылки находятся в футере ниже. Основная проблема, поэтому вы можете обратиться за точной помощью, заключается в том, что вы получаете зеркала, которые ужасно устарели, и что-то в файлах конфигурации в /etc/yum.repos.d устарело. Фактическое исправление выходит за рамки SO - person Charles; 12.12.2012
comment
(На самом деле я бы порекомендовал wget изменить RPM-файл, а затем выполнить yum install ./whatever.rpm вместо прямого использования инструмента rpm. Таким образом, yum будет жаловаться, если есть еще какие-то недостающие фрагменты.) - person Charles; 12.12.2012
comment
Потрясающе - сработало!!!!! Спасибо за помощь! Кстати, это мои репозитории (от godaddy) - *addons: n1plmirror02.shr.prod.ams1.secureserver.net * base: n1plmirror02.shr.prod.ams1.secureserver.net * extras: n1plmirror02.shr.prod.ams1.secureserver.net * update: n1plmirror02.shr.prod.ams1.secureserver.net - person malta; 12.12.2012
comment
Да, тогда это полностью их проблемы. Ткните их представителей поддержки еще раз и дайте им знать, что их репозитории устарели. Если они не исправят это, найдите лучшую компанию, чтобы отдать свои деньги. - person Charles; 12.12.2012