[php] mysqldump rechtenprobleem?

Pagina: 1
Acties:

  • Kogelvis
  • Registratie: Maart 2001
  • Laatst online: 31-08 10:23

Kogelvis

Nu ook met gitaar

Topicstarter
Hallo,

Ik ben hier een php applicatie aan het bouwen waarin ik een database backup functie in wil zetten.
Deze applicatie bouw ik op een linux machine met mysql 3.23.51 php 4.2.1 en apache 1.3.24
nu heb ik in dit script de volgende regel zitten.

PHP:
1
2
3
4
5
6
7
<?php 
/* de backup module */
if (IsSet ($mode) && $mode == "backup") 
{
    exec('mysqldump -ukogelvis -pkogelpass dev > database.sql');
}
?>


hiermee wil ik dus zodra de mode backup word aangeroepen een dump van de dev database maken naar database.sql
als ik dit programma in de console uitvoer werkt het perfect en maakt hij ook heel mooi een dumpje van de database.
echter als ik dit in php aanroep maakt hij geen dump maar als ik dit op een windows machine zet werkt het wel wat ik dus vermoed is een rechten probleem.
Nu heb ik echter hierover niks kunnen vinden op GoT of Google.
Dus heb ik zelf eens geprobeerd om de rechten wat aan te passen en heb ik apache als een andere user laten draaien maar dit heeft niets geholpen.

wat kan ik nu proberen / doen om dit op te lossen en mijn backup mogelijkheid wel te laten werken?

<Jeroen> Wirf: vrouwen versieren kan je gewoon in het OSI model proppen hoor :P
I am dyslexic of Borg prepare to have your ass laminated
Real Programmers always confuse Christmas and Halloween because oct31 = dec25


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Als ik het zo zie kunnen het twee problemen zijn:

1) rechten van de user die apache draait
2) hij weet mysqldump niet te vinden

Oplossingen:
1) Chmod mysqldump zodat de user er bij kan.
2) Geef het gehele pad op.

Verwijderd

er zijn nog wat andere functies om cli commands aan te roepen, ik heb ook wel eens gehad dat voor bepaalde fucties het ene niet werkte en het andere wel

system(), shell_exec(), passthru() etc.

http://www.php.net/manual/en/ref.exec.php

  • Kogelvis
  • Registratie: Maart 2001
  • Laatst online: 31-08 10:23

Kogelvis

Nu ook met gitaar

Topicstarter
ik heb mijn script en de rechten nu aangepast maar het werkt nog niet
geprobeerd heb ik : chmod a+rwx /usr/bin/mysqldump
het volledige pad geven /usr/bin/mysqldump
en de functie zelf dus system, shell_exec, enz.
maar nog steeds krijg ik geen database.sql tevoorschijn.


------//UPDATE//--------
ik heb nog even de executable van mysqldump gecopieerd naar /var/www/htdocs/dev/test waar ook alle php files staan user en groep nobody eigenaar gemaakt van dat bestand chmod 777 erover heen het php bestand aangepast maar nog steeds doet ie het neit :?

<Jeroen> Wirf: vrouwen versieren kan je gewoon in het OSI model proppen hoor :P
I am dyslexic of Borg prepare to have your ass laminated
Real Programmers always confuse Christmas and Halloween because oct31 = dec25


  • Kogelvis
  • Registratie: Maart 2001
  • Laatst online: 31-08 10:23

Kogelvis

Nu ook met gitaar

Topicstarter
Probleem opgelost:

Super stom natuurlijk B) het waren de rechten op die directory die waren alleen van root :| dus nobody daar de eigenaar van gemaakt en nu werkt het maar iig bedankt voor alle hulp. _/-\o_ :/

<Jeroen> Wirf: vrouwen versieren kan je gewoon in het OSI model proppen hoor :P
I am dyslexic of Borg prepare to have your ass laminated
Real Programmers always confuse Christmas and Halloween because oct31 = dec25