Sziasztok! A rendszer: Linux Mint, Apache2, PHP7.3, MongoDB. MongoDB driver repoból telepítve. PHP működik, phpinfo látja a mongodb-drivert (1.5.5), php.ini-ben megvan a bejegyzés, adminer tudja kezelni a MongoDB adatbázisokat. PHP script meg megáll: "Fatal error: Uncaught Error: Class 'MongoClient' not found in..." üzenettel. Hogyan tovább?
- 350 megtekintés
Hozzászólások
Nem includedoltad? Nincs autoload?
- A hozzászóláshoz be kell jelentkezni
Légyszi erről valami bővebbet.
---------------------------------------------------------------------------
Környezetvédelmi nyilatkozat: Ez a hozzászólás kizárólag reciklált elektronok felhasználásával íródott.
- A hozzászóláshoz be kell jelentkezni
Köszönöm az eddigieket. Eggyel jobb:
Az új kilens hívása nem jelzett hibát: $mongo = new MongoDB\Driver\Manager("mongodb://127.0.0.1:27017");
echo extension_loaded("mongodb") ? "loaded\n" : "not loaded\n"; azt írja "loaded"
De, próbálom a https://docs.mongodb.com/php-library/current/tutorial/ legegyszerűbb példáit és nem működik.
$collection = $mongo->test->users; -->Undefined property: MongoDB\Driver\Manager::$test
---------------------------------------------------------------------------
Környezetvédelmi nyilatkozat: Ez a hozzászólás kizárólag reciklált elektronok felhasználásával íródott.
- A hozzászóláshoz be kell jelentkezni
Ez megvolt?
composer require mongodb/mongodb
aztan:
require_once __DIR__ . "/vendor/autoload.php";
Support Slackware: https://paypal.me/volkerdi
- A hozzászóláshoz be kell jelentkezni
composer require mongodb/mongodb
-->Installation failed, reverting ./composer.json to its original content.
Az utóbbival mit kezdjek, mi a "vendor"?
---------------------------------------------------------------------------
Környezetvédelmi nyilatkozat: Ez a hozzászólás kizárólag reciklált elektronok felhasználásával íródott.
- A hozzászóláshoz be kell jelentkezni
"composer diagnose" mit ír ki?
"composer install" lefut hiba nélkül?
a /vendor mappa alá fogja a composer telepíteni a csomagokat, amik a composer.json-ban be vannak állítva
- A hozzászóláshoz be kell jelentkezni
A test db létezik a Mongoban?
És ha így próbálod?
$client = new MongoDB\Client("mongodb://localhost:27017");
$collection = $client->test->users;
$result = $collection->insertOne( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );
echo "Inserted with Object ID '{$result->getInsertedId()}'";
- A hozzászóláshoz be kell jelentkezni
Eredmény: Fatal error: Uncaught Error: Class 'MongoDB\Client' not found in /var/www/html/mongoProba/index.php:3
Közben belebonyolódtam a composer nevű borzalomba, ő azt írja:
- mongodb/mongodb 1.5.1 requires ext-mongodb ^1.6 -> the requested PHP extension mongodb has the wrong version (1.5.5) installed.
- mongodb/mongodb 1.5.0 requires ext-mongodb ^1.6 -> the requested PHP extension mongodb has the wrong version (1.5.5) installed.
- Installation request for mongodb/mongodb ^1.5 -> satisfiable by mongodb/mongodb[1.5.0, 1.5.1].
---------------------------------------------------------------------------
Környezetvédelmi nyilatkozat: Ez a hozzászólás kizárólag reciklált elektronok felhasználásával íródott.
- A hozzászóláshoz be kell jelentkezni
Köszönöm a segítséget! Győztünk. A megoldás a driver manuális telepítése. A repo és composer nem egymásnak megfelelő verziókat tárol.
---------------------------------------------------------------------------
Környezetvédelmi nyilatkozat: Ez a hozzászólás kizárólag reciklált elektronok felhasználásával íródott.
- A hozzászóláshoz be kell jelentkezni