Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo zusammen

Auf einer SUSE 10.2 werden >2000 Daten per cp * "abgeholt".

Fehlermeldung: -bash: /bin/cp: Die Argumentliste ist zu lang

...offenbar tritt der Fehler im Web häufiger auf und jedes mal wird zum einzeln kopieren (z.B. durch Schleife) oder gesamtes Verzeichnis kopieren geraten.

Interessant ist dabei das auf meiner "Ubuntu 8.04 Server" VM-Testumgebung, cp * bei dieser Datenmenge einwandfrei funktioniert.

Zur Ergänzung: cp wird über exec() aus einem PHP-Script aufgerufen.

Kann sich bzw. mir das einer erklären? :)

Gruß

S.E.

Bitte einmal eine Suchmaschine verwenden und nach "argument list too long" suchen. Da wird das ganze ausführlich beschrieben.

Ich verstehe nicht, warum man per exec das cp ausführt, denn PHP unterstützt direktes kopieren von Dateien PHP: copy - Manual

Mit entsprechenden Dir-Funktionen kann man auch ganze Verzeichnisse kopieren, wobei man mit Occam's Razor besser arbeiten könnte

Hi flashpixx,

dein Hinweis noch mal die Suchmaschine zu benutzen hat mich auf xargs gebracht. Für diesen Zweck scheint mir das brauchbar.

Ich verstehe nicht, warum man per exec das cp ausführt, denn PHP unterstützt direktes kopieren von Dateien

Weil sich bisher niemand die Mühe gemacht hat den alten Code hier aufwändig zu refactorn. Aus Zeitgründen hat sichs damals wohl angeboten so zu lösen.

dein Hinweis noch mal die Suchmaschine zu benutzen hat mich auf xargs gebracht. Für diesen Zweck scheint mir das brauchbar.

Genau darauf hatte ich es abgesehen

Weil sich bisher niemand die Mühe gemacht hat den alten Code hier aufwändig zu refactorn. Aus Zeitgründen hat sichs damals wohl angeboten so zu lösen.

Solltest Du aber mal machen, denn exec / system usw Kommandos sollten in der php.ini deaktiviert werden denn sie sind ein Sicherheitsrisiko

Die Gefahr ist auch, dass das PHP-Skript irgendwann in der Zukunft vom Interpreter terminiert wird, weil es zu lange läuft bzw. zu viele Dateien kopiert werden müssen.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.