php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.04.2006, 14:12  
Gast
 
Beiträge: n/a
Standard [Erledigt] Unter windows mit php/exec dump einspielen

Hallo Froum,

ich möchte gerne ein Script schreiben, dass mir auf meinem Windows-Server einen mysqldump einspielt. Zur Zeit mache ich das noch recht
umständlich (Über phpMyadmin gehts nicht, weil die Datei zu gross ist):

1. ich logge mich per vnc auf dem server ein.
2. ich öffne die dos-konsole und wechsle in das verzeichnis:
'c:/Programme/xampp/mysql/bin'.
3. ich setze den befehl ab:
mysql dbname -uroot <dump.sql

das müsste doch mit exec auch funktionieren. Tuts aber nicht

1. PHP braucht auf der Kiste die nötigen Rechte. Wie ging das noch?
2. und dann:
exec ('c:/Programme/xampp/mysql/bin/mysql dbname -uroot <dump.sql')
???
3. ist Gross-/Kleinschreibung wichtig?
4. Oder benuzte ich besser 'exec()';

ps. system ("copy c:/test.txt c:/test2.txt"); funktioniert nicht.
Obwohl 'copy c:/test.txt c:/test2.txt' mit der DOS-Box geht,
gibt php 'Sytaxfehler' aus.

wäre toll, wenn mir jemand weiterhelfen könnte.

beste Grüsse,
martin
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.04.2006, 14:47  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

zu 1. Wenn du im SafeMode bist, sollte die mysql.exe dort liegen, wo php sie findet. Wenn du nicht im Safe-Mode bist, sollte PHP die Rechte haben, mysql.exe aufzurufen. In der Regel wird die eigentlich nicht gesondert vom Installer geschützt (MSI-Paket). Ansonsten rechtsklick auf die mysql.exe oder die überliegenden Verzeichnisse und dort mal unter Freigabe nachschauen.

Zu 2. ausprobieren
Du solltest aber mittels -p noch das Passwort eintippen oder hast du für den root gar keines vergeben? Schäm dich

Zu 3. Wir sind unter Windows. Zu deutsch: Nein

Zu 4. Wo ist der Unterschied zu zweitens?

Zum PS: PHP gibt nen Syntaxfehler aus? Hübsch von PHP. Würdest du den dann hier hin kopieren? Nur weils nen P.S. ist, heisst noch lange nicht, dass man die Frage nicht schön ausformulieren sollte....
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Alt 26.04.2006, 14:55  
Gast
 
Beiträge: n/a
Standard

Warum wilst Du das eigentlich mit php machen?
Datei dumpit.cmd (oder dumpit.bat wenn es noch ein altes Windows 9x ist) anlegen, mit Texteditor öffnen
Code:
c:/Programme/xampp/mysql/bin
mysql dbname -uroot <dump.sql
reinschreiben, fertig.

Die Datei dump.sql liegt wirklich im bin Verzeichnis von mysql? Warum das denn?



Zitat:
Zitat von mepeisen
Zu 3. Wir sind unter Windows. Zu deutsch: Nein
Soll das heißen, unter windows gäbe es kein exec für php? Gibt es.
Code:
<?php echo exec('dir'); ?>
Zitat:
6 Verzeichnis(se), 63.946.690.560 Bytes frei
Kein Problem.
  Mit Zitat antworten
Alt 26.04.2006, 14:59  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

3. Bezieht sich auf Groß-/Kleinschreibung, die Antwort "nein" demzufolge auf die Notwendigkeit selbige zu beachten
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Alt 26.04.2006, 15:05  
Gast
 
Beiträge: n/a
Standard

omg... ich scheitere daran, bis drei zu zählen
1. 3. mööp.
  Mit Zitat antworten
Alt 27.04.2006, 11:34  
Gast
 
Beiträge: n/a
Standard

hi,

erstma tausend dank für eure antworten!

@mepeisen
zu 1) safemode ist off, mysql.exe hat lediglich ein archivbin
zu 2) ich schäm mich, aber ausprobieren hat nicht geklappt:
system ("c:\\Programme\\xampp\\mysql\\bin\\mysql db83512752 -uroot <db83512752.live.06.04.26.sql");
... aber auch keinen fehler ausgegeben.
zu 3) dachte ich mir schon
zu 4) ohne voher alles ausprobiert zu haben, was mir einfällt, wäre ich garnicht hier.
zu ps ) hab ich. php gibt aus 'Syntaxfehler.' das scheint de antwort von windows
auf den parameter von system() zu sein. berechtigt, denn

der bezog sich auf:

system ("copy c:/test.txt c:/test2.txt");
richtig heisst es:
system ("copy c:\\test.txt c:\\test2.txt");

... und dann klappts auch. das allerdings nicht mit dem dump.

Nochwas eigenartiges, dass mit der Ursache zu tun haben kann. Wenn ich:

c:/Programme/xampp/mysql/bin/mysql test -uroot <c:/Programme/xampp/mysql/bin/test.sql

... in die bosbox direkt eingebe, gibt's kein problem. Wenn ich jedoch das
gleiche unter ausführe mache, klappt das nicht. als sei meine schreibweise nicht ganz sauber und die dosbox ignoriert den fehler ;(

@bruchpilot
das mit dem batchfile ist allerdings ein ansatz. nur würde ich das auch mit
php schreiben und aufrufen wollen. und wenn das dann nicht geht ist der fehler
möglicherweise noch schweren zu finden. aber ich probiers mal ...

beste grüsse,
martin
  Mit Zitat antworten
Alt 27.04.2006, 15:09  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.234
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Setze cmd.exe bei system als "Wrapper" davor, dann klappts auch mit Dump usw. Manche Funktionalitäten gibt es nur in einer "echten" Schell und das ist bei Windows die cmd.exe
"cmd.exe --help" zur Info für Parameter, wie man einen Befehl direkt absetzen kann.

In der Dosbox befindest du dich auch bereits innerhalb der Shell. Unter Unix funktioniert das leicht anders, da dort bei einem Befehl (ich glaube es war System) direkt die Standard-Shell genutzt wird und dann beispielsweise Dump-Funktionalitäten genutzt werden können. Bei Windows ging das so glaube ich nicht.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Alt 27.04.2006, 21:30  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von heinetz
zu 2) ich schäm mich, aber ausprobieren hat nicht geklappt:
system ("c:\\Programme\\xampp\\mysql\\bin\\mysql db83512752 -uroot <db83512752.live.06.04.26.sql");
... aber auch keinen fehler ausgegeben.
Wie hast Du überprüft, dass es nicht funktioniert hat?

Hast Du einmal versucht, über die Eingabeaufforderung in das Verzeichnis,
das von Deinem PHP-Skript als CWD verwendet wird, zu wechseln und das
ganze dort auszuführen?

Zitat:
Zitat von mepeisen
Setze cmd.exe bei system als "Wrapper" davor, dann klappts auch mit Dump usw. Manche Funktionalitäten gibt es nur in einer "echten" Schell und das ist bei Windows die cmd.exe
Soweit ich weiß, arbeiten die Funktionen exec(), system() etc. allesamt
über cmd.exe. Mit einem Aufruf darüber, würde das ganze damit mehr
oder weniger überflüssig über eine weitere Instanz von cmd laufen.
  Mit Zitat antworten
Alt 27.04.2006, 22:13  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von heinetz
@bruchpilot
das mit dem batchfile ist allerdings ein ansatz. nur würde ich das auch mit
php schreiben und aufrufen wollen.
Gibt es dafür einen guten Grund oder einfach nur weil php ....php ist?
  Mit Zitat antworten
Alt 28.04.2006, 11:14  
Gast
 
Beiträge: n/a
Standard

hello,

@mepeisen
mit "copy c:\\test c:\\test2" funktioniert's ja ohne den wrapper.
hab's natürlich trotzdem ausprobiert mit system() und exec()
lief es nicht. ;(

@karl-150
wie ich überprüft habe, ob's funktioniert hat ???
der dump hat schlicht meine db nicht tangiert.
deinen anderen vorschlag verstehe ich irgendwie nicht.
was ich ausprobiert habe, ist den dump in dem verzeichnis
mit system() zu kopieren. das hat funktioniert.

@bruchpilot
weil ich das script unabhängig von einer weiteren datei
schreiben wollte. aber ich probiers jetzt mal.

beste grüsse,
martin
  Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] WAMP unter Windows 2000 Server oder Windows 2003 Server Mecronomecon Server, Hosting und Workstations 3 18.06.2008 09:15
Service Pack für Windows Vista doch schon fast fertig? PHP Tipps 2007 0 03.08.2007 12:06
Sicherheits-Patches für Windows und Office PHP Tipps 2007 0 03.08.2007 12:06
Windows Update DER_Brain Off-Topic Diskussionen 8 23.06.2007 14:56
Probleme mit IE7 und transparentem Hintergrund oschmidt HTML, Usability und Barrierefreiheit 15 04.05.2007 20:47
[Erledigt] Externes Programm per PHP auf Windows 2003 OpenSA ausführen PHP-Fortgeschrittene 1 07.03.2006 12:12
Frage zu Windows Server 2003 b++ Off-Topic Diskussionen 1 03.03.2006 09:41
DUMP unter WINDOWS Datenbanken 7 14.12.2005 17:32
ASCII - Zeichen im Forum (Dos statt Windows)?! Brease Off-Topic Diskussionen 13 26.11.2005 13:46
Probleme beim Einspielen eines Dumps - GELÖST Datenbanken 2 09.08.2005 13:35
[Erledigt] browsererkennung; wie kann man einen firefox von... PHP Tipps 2005-2 17 25.07.2005 22:35
mysql dump einspielen (ohne phpmyadmin) PHP Tipps 2005-2 6 18.06.2005 21:50
DUMP per Linux in ein Datei speichern!! Klaus Datenbanken 1 11.04.2005 08:12
Festplatten-, Windows, PartitionMagic, SuSE-Linux - Problem Quadaptor Off-Topic Diskussionen 14 09.04.2005 19:01
Windows Install Shield Problem Off-Topic Diskussionen 1 23.02.2005 09:53

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql dump einspielen windows, mysqldump einspielen windows, windows mysql dump einspielen, cmd dump einspielen, mysql windows dump einspielen, php exec windows, mysqldump windows einspielen, mysql dump einspielen konsole windows, mysqldump einspielen cmd, windows sql dump einspielen, xampp mysql dump einspielen, mysql dump einspielen cmd, http://www.php.de/php-fortgeschrittene/39453-unter-windows-mit-php-exec-dump-einspielen.html, windows php exec, php exec windows rechte, mysql backup einspielen windows, php exec windows xampp, windows mysqldump einspielen, sql dump einspielen windows, php exec unter windows

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:16 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.