Class 'MongoDB\Driver\Manager' not found, with proper extension installed - drivers

I have installed recent MongoDB extension using PECL. My PHP version is 5.6, I am sure that the extension is running. I've also installed the Composer package running composer require "mongodb/mongodb=^1.0.0" in my project. The error message says: in Client.php line 56: Class 'MongoDB\Driver\Manager' not found, the Client.php file is one of the classes, supllied by the package. I am wondering, do I need to install any additional packages?

Related

Error in installing Shipstation Plugin for Magento 2 Store

I am installing Auctane-ShipStation module for Magento 2.3.4 by referring the following site https://help.shipstation.com/hc/en-us/articles/360025855652-Magento#connect-a-magento-store-to-shipstation-0-1.
There is no option to directly download the shipstation module. They are asking to install it via composer. I am using " composer require auctane/api:2.2.9 " command to install it but it is giving error " [InvalidArgumentException] Could not find a matching version of package auctane/api. Check the package spelling, your version constraint and the package is available in a stability which matches your minimum-stability( stable). "
Open your composer.json if that package has no stable version then you have to change your minimum-stability to dev.
https://getcomposer.org/doc/04-schema.md#minimum-stability

ERROR: incompatible library while creating extension in Postgresql

I use Centos 7 and Postgresql 12. I installed already PostGIS and created successfully its extension. I'm now tring to install semver extension with create extension semver and get following error:
ERROR: incompatible library »/usr/pgsql-12/lib/semver.so«: version
does not match
According to developer this version should work with my Postgresql 12. Why am i getting this error?
Thanks!
An extension's .so binaries are specific to a major release of Postgres.
If you're installing the extension through yum, there would typically be a different package for each Postgres version. For example, if you installed Postgres 12 using the postgresql12-server package, then you would install PostGIS 3.0 using the postgis30_12 package.
If the package name is just pg-semver, without a Postgres version number, then it's probably intended for your distribution's default postgresql-server package. In CentOS 7, this appears to be Postgres 9.2, so these files won't work on a Postgres 12 server.
If you can't find a PG12-specific package, you'll need to build it yourself, using the instructions here.

PostGIS extension undefined symbol: GEOSCoordSeq_getXY

I am trying to create postgis 3.0 extension on postgresql12 on centos7 (both are installed using yum native rpms)
yum install postgis30_12.x86_64
but i am getting different errors with GEOS. currently the error i am getting is
postgres=# create extension postgis;
ERROR: could not load library
"/usr/pgsql-12/lib/postgis-3.so": /usr/pgsql-12/lib/postgis-3.so:
undefined symbol: GEOSCoordSeq_getXY
geos-config --version
3.8.0
i have resolved the issue by running ldd libgeos_c.so.1 to find which one is being used by postgresql12 and manually replaced it with the one that comes after installing geos38 and the create extension succeeded.
The PostGIS binary you are using was built with a GEOS version that is incompatible with the one installed. You have to either install a different GEOS library or a different PostGIS.
Normally, such an incompatibility should be made obvious by using a different library version. GEOS seems to be sloppy here.

gdcmanon - Requested cryptoraphic library not configured

I am using gdcmanon to anonimize dicom files like the following:
LD_LIBRARY_PATH=../lib ./gdcmanon --certificate CA_cert.cer -e ./dump ./dump/anon
But it gives the following error:
Error: In /home/travis/build/malaterre/GDCM/Source/Common/gdcmCryptoFactory.cxx, line 61, function static gdcm::CryptoFactory* gdcm::CryptoFactory::GetFactoryInstance(gdcm::CryptoFactory::CryptoLib)
No crypto factory registered with id 1
Requested cryptoraphic library not configured.
How can I solve this?
The error is because of binaries you use, it looks like SSL dependencies are not satisfied.
As a solution (workaround?), you can get the binaries via apt system. For Ubuntu 16.04 Xenial distribution, there is version 2.6.3 of libgdcm-tools package.
Another possibility is to compile gdcm from scratch, but you need development files of OpenSSL (apt install libssl-dev). Moreover, to use anonymisation with certificates, in CMake system set GDCM_USE_SYSTEM_OPENSSL=YES.

php-fpm extension listed in phpinfo() fails with "Class not found"

nginx + php-fpm on CentOS, all compiled from sources.
Adding memcached support, I compiled libmemcached and php "memcached" extension, added a line `php_admin_value[extension]=memcached.so' in the php-fpm config and restarted php-fpm.
Opening a test php with phpinfo() via web server started showing a section about "memcached" extension (screenshot). However attempts to instantiate the class fail with Fatal error: Class 'Memcached' not found.
I also tried installing the php "memcache" (without 'd') extension in the same way: downloading sources, phpize, configure, make, make install. All the same: listed in phpinfo();, "Class not found" fatal error.
What am I doing wrong, and how can I add a compiled extension to the php-fpm?
yum / pecl package managers are not an option currently, as specific versions are required.
You set up seems fine. I have the same set up, except my memcache/memcached are installed by yum. So maybe your memcache/memcached not installed properly. The following link mentions a dependency on zlib-devel.
Fatal error: Class 'Memcache' not found (installed with pecl)