Can't run PHP SOAP (looking for help or alternative) - php

I'm running CentOS 5.9 on this MediaTemple server with PHP 5.3.5, and I need to install SOAP for an API I'm building.
The phpinfo() output lists --enable-soap=shared already, so right off the bat I'm confused.
yum install php-soap doesn't work; it complains about "php-common = 5.1.6-43.el5_10" missing, yet yum install php-common says that php-common-5.1.6-43.el5_10.x86_64 is already installed.
I ended up just installing it manually like so:
wget ftp://fr2.rpmfind.net/linux/centos/5.10/updates/x86_64/RPMS/php-soap-5.1.6-43.el5_10.x86_64.rpm
rpm -Uvh --nodeps php-soap-5.1.6-43.el5_10.x86_64.rpm
And while it installed, I now get this error:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/soap.so' - /usr/lib64/php/modules/soap.so: undefined symbol: zend_unmangle_property_name_ex in Unknown on line 0
I imagine there are some dependency issues but I can't figure out how to solve them.
At this rate I'm resorting to just using a non-plugin form of SOAP solution.

Related

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/mysql.so'

I recently installed EHCP with all the necessary packages and now everytime I try to run my laravel project by typing php artisan serve, I get the following error:
PHP Warning: PHP Startup: Unable to load dynamic library
'/usr/lib/php/20151012/mysql.so' - /usr/lib/php/20151012/mysql.so:
cannot open shared object file: No such file or directory in Unknown
on line 0
Please help, thank you.
Do you have the mysql extension installed? If not, you may need to install it.
apt-get install php-mysql
In ubuntu 16.04 and above (as I can remember), this will install the module for PHP7 by default. So you need to check your php version and install the relevant one.
Ex: apt-get install php5.6-mysql
Then check you have the module installed by running:
php -m | grep mysql
Hope it helps!

getting error while enabling curl in php5 ubuntu

I have installed curl in ubuntu server using this command
sudo apt-get install curl php5-cli git
it's succeeded now i am trying to enable this extension in php on linux platform.so i commented out the extension=php_curl.dll line in php.ini .But it giving this error
PHP Warning: PHP Startup: Unable to load dynamic library
'/usr/lib/php/20131226/curl.so' - /usr/lib/php/20131226/php_curl.dll:
cannot open shared object file: No such file or directory in Unknown
on line 0
i got this error while confirming the whether curl is enabled in php with this command
php -i | grep curl
please help with me how to enable curl extension in php on linux platform
You've installed Curl, and you've installed PHP, but I think you are missing the PHP-Curl integration libraries.
sudo apt-get install php5-curl
This is available from the main repository in 14.04 - http://packages.ubuntu.com/trusty/php5-curl
However from 16.04 onwards only PHP7 is included by default, so you'll probably have to use a 3rd-party PPA.

mongodb php-driver : php startup error

I installed mongodb php-driver as per the guideline shown here:
https://github.com/mongodb/mongo-php-driver
But when I run #php command its showing following error :
Warning: PHP Startup: Unable to load dynamic library
'/opt/lampp/lib/php/extensions/no-debug-non-zts-20151012/mongodb.so' -
/opt/lampp/lib/php/extensions/no-debug-non-zts-20151012/mongodb.so: symbol
CRYPTO_get_locking_callback, version OPENSSL_1.0.0 not defined in file
libcrypto.so.1.0.0 with link time reference in Unknown on line 0
I am using :
Lampp Stack
PHP : 7.0.0
OS: Ubuntu 15.10
Pear: 1.10.1
Please suggest any solution if you have. Thanks in advance .
It looks like you don't have SSL library enabled/installed correctly on your system. Most likely, I am thinking you don't have the libssl-dev package installed.
You should install this with apt-get install libssl-dev libsasl2-dev, and then reinstall the mongodb extension with pecl uninstall mongodb && pecl install mongodb.

cannot install APC with PECL & PHP 5.5.9

I have installed PHP(5.5.9) via Homebrew(0.9.5), and I can't seem to install any packages with pecl. For instance when I try to install APC with sudo pecl install apc I got the following string returned:
WARNING: php_bin /usr/local/Cellar/php55/5.5.9/bin/php appears to have a
suffix 55/5.5.9/bin/php, but config variable php_suffix does not match
If I just ignore the warning and proceed, at the end it fails with:
2 warnings and 6 errors generated.
make: *** [apc_compile.lo] Error 1
ERROR: `make' failed
I have make installed via homebrew as well as pecl.
APC is outdated, and has never been updated/released for PHP 5.5.
Since version 5.5, PHP comes with it's own opcache.
See: http://nl1.php.net/manual/en/book.opcache.php

Setting memcached for lampp on linux using pecl

ORIGINAL POST
First of all, I want to install memcached, not memcache.
I'm trying to set up memcached to work with my lampp server on ubuntu 12.10 since yesterday. I've already followed almost every tutorial I could find. The most recent thing, I tried to do was:
in terminal
apt-get install libmemcached-dev
cd /opt/lampp
./bin/pecl install memcached
and then adding extension="memcached.so" in php.ini file. After this I restarted lampp using /opt/lampp/lampp restart
When I tried to open php script in my browser it just got downloaded. Running tail -20 /opt/lampp/logs/php_error_logthis is what I see:
PHP Warning: PHP Startup: Unable to load dynamic library '/opt/lampp/lib/php/extensions/no-debug-non-zts-20100525/memcached.so' - /opt/lampp/lib/php/extensions/no-debug-non-zts-20100525/memcached.so: wrong ELF class: ELFCLASS64 in Unknown on line 0
It seems this guy had same problem but with different extension. When I try to compile 32 bit version of the extension using:
phpize
CFLAGS=-m32 CPPFLAGS=-m32 CCASFLAGS=-m32 ./configure
make
But make throws the following error:
/usr/bin/ld: skipping incompatible /usr/local/lib/libmemcached.so when searching for -lmemcached
/usr/bin/ld: cannot find -lmemcached
/usr/bin/ld: cannot find -lz
collect2: error: ld returned 1 exit status
make: *** [memcached.la] Error 1
The problem is that I don't even know if I'm on the right path. If someone could write short step-by-step guide how to get this working or just show me where the issue is it would be great.
UPDATE
After executing sudo dpkg --add-architecture i386 sudo apg-get update sudo apt-get install libmemcached-dev:i386 libz-dev:i386 and phpize CFLAGS=-m32 CPPFLAGS=-m32 CCASFLAGS=-m32 ./configure make memcached compiles fine. It still doesn't work however. After checking php error logs again I get this
PHP Startup: Unable to load dynamic library '/opt/lampp/lib/php/extensions/no-debug-non-zts-20100525/memcached.so' - /opt/lampp/lib/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/i386-linux-gnu/libstdc++.so.6) in Unknown on line 0
You are on the right path - your lampp is 32bit while rest of the system (i assume) is 64bit. So when you installed libmemcached an compiled php-libmemcached it is 64bit version. That's why you get the "Wrong ELF class" error.
Before you can compile 32bit version of php-memchached you need to install 32bit versions of libmemcached and libz (and their headers).
You need to:
sudo dpkg --add-architecture i386
sudo apg-get update
sudo apt-get install libmemcached-dev:i386 libz-dev:i386
I think that should be enough to let you compile 32bit version of php-libmemcached.
There is a dirt way to fix your problem
go to /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.x.x
and copied the libgcc_s.so into
/opt/lampp/lib and renamed it to libgcc_s.so.1 to overwrite the previous file.

Categories