Podlove Publisher - Episoden "File not found"-Problem

Hallo Commuity,

danke für eure vielen hilfreichen Beiträge bisher.
Ich habe ein Problem, mit dem ich offenbar nicht der erste bin, scheitere aber an der Lösung. Ich hoste meine Website (Webspace) bei Strato (www.stoerenfrie.de) und den dazugehörigen Podcast derzeit noch bei Soundcloud, möchte aber auf das Podlove-Tool umsteigen.

Ich habe die Anleitung befolgt, aber wenn ich versuche, eine Episode zu erstellen, erscheinen folgende Fehlermeldungen:

Dank Sendegate fand ich heraus, dass es zwei mögliche Probleme gibt:
-cURL Fehler (vorhanden)


-wenn ich aus Cyberduck (FTP) dem Link zur Episode …/episoden/ep001.mp3 folge, steht da File not found.

Meine bisherigen Recherchen ergeben, dass
a) mein Strato-Paket PHP 7.2 kann und entsprechend cURL drin sein müsste
b) ich eine .htaccess brauche (hab ich in den Root-Folder geladen, dann konnte ich aber plötzlich nicht mehr auf mein WP zugreifen)

Ich bin mit meinem Latein am Ende, bitte um Entschuldigung für die komplexe Problembeschreibung und hoffe, jemand kann mir weiterhelfen. Strato hat mit den Achseln gezuckt. (Classic.)
Danke und alles Gute für 2019
SF

Hi,

ähnliches Problem hatte ich anfangs auch.

Probiere mal folgendes (hat bei mir zumindest geholfen):

  1. Das Verzeichnis in dem deine Audiofiles landen sollten unter “/wp-content/uploads/pod” liegen (wobei “pod” durch jeden beliebigen Ordnernamen ersetzt werden kann.

  2. In deine Wordpress Installation hinterlegst du unter Podlove > Podcast Einstellungen > Medien deinen uploadpfad (http://stoerenfrie.de/wp-content/uploads/pod/)

Prinzipiell empfiehlt es sich die Audiofiles so zu benennen wie du auch deine Episoden nennst - in meinem Fall war das z.B.: DE000_Der_Wald.mp3

Beim erstellen der Episode gibt es den Punkt “Slug von Mediadatei der Episode”
Dort kommt ebenfalls wieder “DE000_Der_Wald” rein. ohne “.mp3”.
Dann noch auf “verify” und er müsste die Datei schlucken können :slight_smile:

Danach hat es bei mir wunderbar funktioniert. Hängt glaube ich mit der Exaktheit der Pfadangabe zusammen und dass WP nicht in jedem Pfad nach den Audiofiles suchen kann.

Zum verwenden von einzelnen Episodencovern gibt es eigentlich eine tolle Funktion im Plugin selber.
Podlove > Episoden-Asset > Episodenbild > Beitragsbild

Dann kannst du Episodenbilder bequem bei erstellen der Episode hochladen.

Ich hoffe das hilft ein wenig weiter und die ganzen Nerds schlagen nicht gerade die Hände überm Kopf zusammen :smiley:

Viele Grüße
Einsiedler

1 „Gefällt mir“

@PH_0x17 hat vollkommen Recht.
Ich habe die Anleitung befolgt und es funktioniert. Holzauge, sei wachsam: wenn man mehrere Instanzen von Wordpress auf einem Webspace laufen hat, ist es ratsam, darauf zu achten, dass man den /pod-Ordner (bzw. den /episoden-Ordner) im richtigen Verzeichnis anlegt.
Vielen Dank und beste Grüße!

Auf dem oberen Screenshot sieht es zudem so aus, als hättest Du noch keinen Slug eingetragen. Da sollte eigentlich nicht nur die Dateiendung stehen, sondern der komplette Dateiname und der generiert sich aus dem Episode Slug und der jewieligen Endung.

1 „Gefällt mir“

Hallo,

ich habe genau dasselbe Problem.
404
Das mp3 Audio Asset wird mir als File not Found angezeigt.

Sowohl die Laufzeit der Episode als auch der Direktlink funktionieren ohne Probleme. Auch https://kabelsalat.it/episodes/ kann ich erreichen.

Auch der Tip die Daten unter /wp-content/uploads abzulegen, hat leider nicht geholfen. Mein PHP und nginx log ist leider nicht sehr aufschlussreich.

Ich werde mich morgen nochmal mit frischem Kopf an die Sache setzten.
Falls jemand allerdings die Lösung kennt oder einen Lösungsansatz für mich hat würde mir das sehr weiterhelfen.

Gruß,
Ori

Der Pfad dort sieht in Ordnung aus.
err

Der Feed funktioniert und wenn man den Podcast über den abonnieren Knopf einem Podcatcher hinzufügt sieht auch alles gut aus. Der Fehler besteht aber weiterhin und der Webplayer funktioniert dadurch leider auch nicht.

Gibt es irgendwo ein Log, welches mir verrät, was genau nicht funktioniert?

Kurzer Nachtrag in eigener Sache.
Ich bin kein Programmierer, habe aber folgendes gefunden:

Der verify Knopf zeight im HTML class=„button update_media_file

err2

Ich habe mir dann mal angeschaut in welchen files der String update_media_file im plugin Verzeichnis von Wordpress so auftaucht.

grep -rnw ‚/var/www/html/wordpress/wp-content/plugins/podlove-podcasting-plugin-for-wordpress/‘ -e ‚update_media_file‘

Da bin ich auf die Datei /var/www/html/wordpress/wp-content/plugins/podlove-podcasting-plugin-for-wordpress/js/src/admin/episode.js gestoßen

Wo kommt also dieses File not found! her?

124 if (readable_size === „???“) {
125 size_html = ‚File not found!‘;
126 $row.find(„.status“).html(‚‘);
127 }

Der Operator Tripple Equal (===) prüft, wenn ich das richtig verstehe, ob die Variable readable_size ein String ist. (Ist readable_size vom selben Typ wie „???“)

Wenn ja, wird „File not found!“ ausgegeben.
Woher kommt jetzt readable_size?

Die wird direkt darüber definiert:

118 var readable_size = human_readable_size( size );

Hier wird, wenn ich das richtig lese, die Variable readable_size mit dem Output gefüttert, der generiert wird, wenn man die Funktion human_readable_size aufruft und ihr als ersten Parameter die Variable size übergibt.

Diese wird in Zeile 115 definiert

115 var size = $checkbox.data(‚size‘);

Und hier verlassen mich jetzt meine Kenntnisse.
$Checkbox könnte jetzt eine globale Variable sein, die das Script ausliest oder es gibt irgendwo checkbox.js was dann irgendwelche Magie macht.

Die Funktion human_readable_size finde ich gar nicht.

Ich wüsste jetzt auch nicht, wie ich mir in JS debugging Informationen ausgeben lassen kann.
Meine Mittagspause ist jetzt leider auch schon wieder rum.

Könnte mir mal jemand sagen, ob ich mich grade total verrenne oder ob der Ansatz richtig ist?

Gruß,
Ori

ich habe noch selbst nicht genug geschlagen gegenwärtig, aber aus dem steigreif würde ich meinen, dies ist ein gesunder variablen default; die Bedingung bedeutet übersetzt wenn was auch immer readable_size den wert der zeichenkette „???“ angenommen hat, dann soll bitte die variable size_html mit einer sinnvollen meldung initialisiert werden, dass evtl. sie später ausgegeben werden kann.

aus dem restlichen kontext, verzeiht allerseits, ich hätte erst alles lesen sollen.

würde ich starten indem ich die in die relevanten php files gehe wo vermutet wird interessante sachen passieren und dort erstmal folgende code passage ohne doppeltes Anführungszeichen einfügst, damit solltest du etwas mehr einsicht bekommen in was php denkt, was gerade sache ist und damit ist hast du meinen segen um php zu lernen ohne tierqäulerei.
“var_dump($name_von_interesante_sache);”

// Bitte verstehen, diese Ausgaben(in einem Produktiv/Livesystem), potenziell sicherheitskritische informationen seien könnten, daher ein kann ein Informationsleck einstehen, wenn man sich nicht bewußt ist welche information dort gerade freiwillig publiziert wird an aufmerksame Mitmenschen.

ich empfehle (um Lebenszeit und -energie zu sparen, was ich grundsätzlich mache wenn ich mir php anschaue der gerade nicht läuft wie jemand erwartet) folgendes:

überall wo sinnvoll, besten falles so früh(chronologischer betrachtet) wie möglich relativ zum einem dir bekannten Einstiegspunkt der Software folgende debugging und Fehleranzeige variablen ein zu fügen.

<?php error_reporting(E_ALL); ini_set("display_errors", 1); include("file_with_errors.php"); ?>
dieses code fragment (innerhalb der <?php ?> markierung, die funktionen(error_reporting, ini_set) entsprechend diesem beispiel aufrufen vor explodierender php, hilft beim reparieren / spuren lesen.

evtl. machts auch Sinn vorher mal in die wordpress dokumentation zu gucken (siehe F.A.Q. z.B.)
// bin gerade nicht wach genug um mir wp doku zu geben, verzeiht.

// habe ich von hier:
http://php.net/manual/en/language.errors.basics.php habe ich entnommen
// ich wußte semi ex-php mensch noch “php.net” aus dem kopf, weil die sie gekümmert haben, wertvolle Dokumentation zu führen, meiner meinung nach.

Empfehle ich für php fragen zu rate zu ziehen, die suche funktioniert wenn du konkrete php system funktionen verstehen willst (oder deren anforderungen an eingabe syntax z.B.)

diese quelle meine fragen zu php selbst meist zuverlässig beantworten können.


konnte noch nicht schlafen gehen, habe nochmal gelesen,
human readable size (immernoch kontext semi agnostisch) klingt für mich (als Entwickler) alsob dort gerade eine funktion (vermutlich nicht javascript(js) sondern php andere funktion oder so)
gibt auch einen mittelweg, wie php bibliotheken die letztlich auch javascript magic machen, aber standartisiert sodass man es in php einfacher ootb machen kann.
also ich denke es könnte darum gehen, dass eine speicher größe für eine Datei (deine podcast_folge vermutlich, in bytes dort gerade weiter gereicht wurde (nicht erfolgreich), und die funktion die gerade diese Wert Anzahl_von_bytes haben wollte um ihn für später(z.B. Ausgabe) zu konvertieren in halt human readable.

ein beispiel:
123456 (zur basis 10 aka Dezimal) dargestellt, ist auch 11110001001000000 (zur basis 2 aka Binär);
die eine variante liegt manchen mehr also wird gerne runter gerechnet so dass man grob schätzen kann was die zahl ist (ohne werkzeuge einzusetzen wie ein taschenrechner) also schreibt man falls die dateigroße 123456 bytes wäre (ein byte sind 8 bit). In der Informationstechnik wird gerne abgekürzt, also hat jemand sich ausgedacht es wäre “human readable” wenn man diese information 11110001001000000 als darstellt als 120 kibiByte(KiB) (123456 byte / 1024) oder für mich gemäß der sprache leichter nachvollziehbarer 123 kiloByte (kB) (123456 byte / 1000).

// meist eher mit den Kürzeln in der klammer
hoffe dies kommt jemanden zu gute oder hilft wenigsten moralisch : )

Grüße und gute nacht für die nachteulen unter uns

BGS

Ich drehe mich im Kreis und komme nicht weiter.
Habe jetzt mal den Podlove Support eingekauft.

Wenn da was raus kommt melde ich mich.
Vielleicht kann es mal jemandem helfen.

Der Podlove Support hat mir mit einer schnellen Antwort mit genau dem richtigen Denkhinweis helfen können. Es war ein DNS Problem.

Ich hatte in meiner /etc/hosts Datei noch einen alten statischen Eintrag für 127.0.0.1 auf eine falsche URL drin. Wie zu erwarten, es war meine eigene Schuld :slight_smile:

Cheers,
Ori