Synology [RESOLU] Rescan Nextcloud impossible

rebeldu31

Padawan
29 Mars 2017
88
0
6
Toulouse
Bonjour,
Je rencontre un problème avec la commande de rescan du cloud.
Nextcloud est installé sur mon NAS Synology. J'ai les paquets PhP5.6 et PhP7.0 installés.
Lorsque j'exécute la commande "php occ files:scan --all", j'obtiens le message d'erreur suivant : "exception 'Doctrine\DBAL\DBALException' with message 'Failed to connect to the database: An exception occured in driver: could not find driver' in /volume1/web/nextcloud/lib/private/DB/Connection.php:61".
Lorsque je vérifie la version de PhP installé j'ai ceci :
- php -v (ligne de commandes) : 5.6
- phpinfo() (page web) : 7.0
Mon rescan ne fonctionne donc pas et je n'arrive pas à trouver la solution. Le support Synology me dit clairement que Nextcloud n'est pas supporté par eux. Je suis donc bloqué. o_O
Si quelqu'un a une idée, je suis preneur.
Merci
 
Salut,

Je ne sais pas comment Synology gère php mais de ce que je vois, ton serveur web est configuré pour utiliser php7 alors que ta commande php est linké sur php5.6.

Peut-être en effectuant cette commande ça peut passer ?

Code:
php7.0 occ files:scan --all

Si php7.0 est introuvable, fait une recherche des binaires php que tu as sur ton système :

Code:
find / -type f -executable -name php*
 
Aragon a dit:
Salut,

Je ne sais pas comment Synology gère php mais de ce que je vois, ton serveur web est configuré pour utiliser php7 alors que ta commande php est linké sur php5.6.

C'est ce que je comprend oui... Même le support Synology me le confirme : 1 version pour le web, 1 version "général" pour la ligne de commandes.
Peut-être en effectuant cette commande ça peut passer ?

Code:
php7.0 occ files:scan --all

A priori tout se trouve dans /usr/local/bin/.
ash-4.3# which php70
/usr/local/bin/php70


J'ai tenté :
- php70 occ files:scan --all ==> Doctrine\DBAL\DBALException: Failed to connect to the database: An exception occured in driver: could not find driver in
- php56 occ files:scan --all ==> The posix extensions are required alors que l'extension "posix" semble présente :
ash-4.3# php -i | grep posix
posix

Si php7.0 est introuvable, fait une recherche des binaires php que tu as sur ton système :

Code:
find / -type f -executable -name php*

Il ne trouve rien !!!
:-?
 
De quelle manière ?
Pour php v7.0, je les vois uniquement avec un phpinfo dans une page web, et avec tous les détails c'est très long...
:-? :-?
 
Si ton NAS a internet, tu peux exécuter cette commande :

Code:
/usr/local/bin/php70 -i | curl -F 'sprunge=<-' http://sprunge.us

Elle te retournera un lien qui contiendra le résultat de la commande php70 -i.

Sinon, on peut essayer de filtrer pour chercher les modules de bdd:

Code:
/usr/local/bin/php70 -i | grep -iE "mysql|pdo"

Owncloud/Nextcloud doivent utiliser pdo de mémoire et de ce que je comprends du message d'erreur "Failed to connect to the database: An exception occured in driver: could not find driver" c'est qu'il n'ait pas parvenu à charger un module de bdd pour se connecter à une base.

Sinon, de quelle manière tu as installé Nextcloud ? Via le centre de paquets ou manuellement ?
 
Alors, après avoir jeter un oeil aux 2 versions, voilà ce qu'il ressort :

- pdo_mysql n'est pas présent dans la config de php70, alors que dans "Web Station" c'est bien coché et qu'1 phpinfo via page web me donne le donne bien

J'ai installé Nextcloud manuellement car le paquet Synology posait problème (erreurs de droits d'écritures) et il fonctionne parfaitement, excepté ce "file rescan".
 
Bon...
J'ai résolu 1 problème : celui avec php56... L'erreur qui venait de posix...
J'ai ajouté 1 ligne dans le fichier /usr/local/etc/php56/conf.d/webstation-extensions.ini : "extension = posix.so"

J'ai lancé "sudo -u http php56 occ files:scan --all" et là il scanne les fichiers !!!
:-D
:cool:

Me reste à régler le problème avec php70 !!!
 
Et bien du coup essaye d'ajouter cette ligne "extension=pdo.so" dans "/usr/local/etc/php70/conf.d/webstation-extensions.ini" ^^
 
Oui, c'est ce que je vais faire même si j'en ai plus l'utilité puisque le rescan fonctionne avec php56...

Je vais donc dire "problèmes réglés" !!! Je clos !!!

Youpiii..

Merci.