exec() - pg_restore.exe

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : exec() - pg_restore.exe

Re: exec() - pg_restore.exe

par didiblo » 16 juil. 2013, 17:04

Pardon, je n'avais vue pas ta réponse.

Je n'ai aucun message d'erreur, juste le processus pg_restore.exe dans le gestionnaire des tâches qui tourne au minimum et jusqu'au max_execution_time de PHP.
Alors qu'en l'exécutant dans directement dans l'invite de commande ou bien par un .bat il utilise des ressources et s'exécute en quelques secondes.

C'est donc une question de droits, mais je ne sais pas où regarder.

Sinon je suis sur un Apache 2.2 et un PHP 5.3.

Code : Tout sélectionner

$cmd="\"C:\\Program Files\\pgAdmin III\\1.16\\pg_restore.exe\" --create -d postgres --format=c --no-owner --ignore-version --verbose --host=localhost --port=5432 -U ****** ******.backup"; exec($cmd);
Cdt.

Re: exec() - pg_restore.exe

par moogli » 10 juil. 2013, 22:01

salut,

est ce qu'il y a un message d'erreur ?
sans cela non code on ne peux pas t'aider.

quel est la version de l'os (2k serveur ou pas, 2k8 serveur etc etc).


@+

exec() - pg_restore.exe

par didiblo » 10 juil. 2013, 09:39

Bonjour.

Je vous explique le souci, je souhaite exécuter un pg_restore sous Windows via la commande exec() de PHP.

Je sais qu'il s'agit d'un problème de droit, je ne sais pas si c'est Windows ou PostGres qui pose problème (via le pg_hba.conf ?).

En effet, si j'exécute la commande directement via l'invite de commande cela fonctionne, mais pas par un appel en PHP (pareil si je passe par un intermédiaire en .bat).

Des idées ?

PS : j'avais réussi à régler le problème pour un pg_dump.exe en passant à TRUST dans le pg_hba.conf, mais cela ne change rien ici.