Activer mysqli dans ma copie de php sur mon serveur web

comme il en est question ici: mysqli fonctionne lorsque exécuté directement mais pas lorsque via js-ajax

il se peut que je doive activer mysqli dans la copie php de mon serveur web. Il est déjà activé dans la ligne de commande.

Comment savoir si mysqli est activé dans une copie php spécifique, et si ce n'est pas le cas, comment l'installer?

mon serveur web exécute Ubuntu 14.04.2 LTS.

maintenant, j'ai essayé d'avoir les extensions suivantes dans mon php.ini fichier:

extension=mysqli.so
extension=pdo_mysql.so
extension=php_mysqli.so

j'ai essayé de les exécuter tous séparément, redémarré mysql et apache, couru sudo php5enmod mysqli et puis j'exécute la page à nouveau, mais la même erreur continue à apparaître dans /var/log/apache/error.log:

PHP Fatal error:  Class 'mysqli' not found in /var/www/html/..

Et rien n'est ajouté à la table sql, sauf si je lance l'insérer.php côté serveur.

quand j'ai les trois extensions dans le php.fichier ini je reçois les erreurs suivantes sont bien:

Failed loading /usr/lib64/php/modules/ioncube_loader_lin.so:  /usr/lib64/php/modules/ioncube_loader_lin.so: cannot open shared object file: No such file or directory
Failed loading /usr/lib64/php/modules/ixed.lin:  /usr/lib64/php/modules/ixed.lin: cannot open shared object file: No such file or directory
Failed loading /usr/lib64/php/modules/ZendOptimizer.so:  /usr/lib64/php/modules/ZendOptimizer.so: cannot open shared object file: No such file or directory
Failed loading /usr/lib64/php/modules/opcache.so:  /usr/lib64/php/modules/opcache.so: cannot open shared object file: No such file or directory
7
demandé sur Community 2015-07-21 12:25:39

4 réponses

à Partir de vos commentaires, il semble que votre extension_dir est réglé sur /usr/lib64/php/modules mais ce dossier n'existe pas sur votre système.

sur votre système le mysqli.donc le module a été trouvé dans /usr/lib/php5/20121212/mysqli.so

Pour résoudre le problème, vous pouvez définir l' extension_dir/usr/lib/php5/20121212 alors que extension=mysqli.so line est capable de trouver l'objet partagé.

3
répondu ssnobody 2015-08-04 01:20:43

Vous devez recompiler votre PHP et ajouter le code --enable-tous à la fin. (Je pense que la commande est à droite. Sinon le concept est) Vos objets partagés ne sont pas installés.

0
répondu kayleighsdaddy 2015-08-01 06:42:25

vous devez ouvrir le service mysqli à partir du serveur apache, puis redémarrer le serveur apache

0
répondu Vijay Raiyani 2015-08-03 13:41:19

Suivez ce guide.

https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-14-04.

Passez la première étape qui est sur le web apache srver. Notez que la configuration pour php cli (command line interface) est dans un fichier différent de la configuration pour le php que votre serveur web utilise. Si vous avez besoin de configurer php pour apache, le chemin par défaut est /etc/php5/apache2/php.ini sur UBUNTU 14.02.

Si vous continuer à connaître des problèmes avec ioncude suivez ce lien https://www.digitalocean.com/community/tutorials/how-to-install-ioncube-loader

0
répondu George Oikonomou 2015-08-03 17:58:42