Anmelden
Loslegen

Easy Digital Downloads Dokumentation

Dokumentation, Referenzmaterialien und Tutorials für Easy Digital Downloads 

Software Licensing – Häufige Probleme und FAQs

Die Software Licensing Extension für Easy Digital Downloads erfordert einige Einrichtung und Integration – und es ist möglich, dass Sie auf einige Probleme stoßen. Einige davon sind hier mit möglichen Lösungen aufgeführt.

FAQs

Wie kontaktiere ich Kunden, wenn ein Update verfügbar ist?

Es wird empfohlen, einen E-Mail-Marketing-Dienst wie Mailchimp oder ConvertKit zu nutzen. WordPress wird nicht für den Versand von Massen-E-Mails empfohlen, daher muss die Kontaktaufnahme mit Benutzern extern über EDD/WordPress erfolgen.

Ist es möglich, benutzerdefinierte / Enterprise-Lizenzen zu verkaufen?

Obwohl es keine integrierte Unterstützung für den Verkauf von benutzerdefinierten oder Enterprise-Lizenzen gibt, die auf einer größeren Anzahl von Websites aktiviert werden können, gibt es Workarounds, um dies zu ermöglichen. Die einfachste Option ist, dem Kunden eine Rechnung über Stripe oder PayPal zu senden. Nach der Bezahlung erstellen Sie manuell eine Bestellung und aktualisieren das Limit für Lizenzaktivierungen auf die Anzahl der Aktivierungen, die der Kunde haben soll.

Funktioniert Software Licensing mit Amazon S3?

Ja, es ist vollständig kompatibel ohne Probleme und ohne spezielle Einstellungen.

Beeinflussen lokale / Entwicklungsumgebungen die Aktivierungsanzahl?

Wenn Sie die Anzahl der Lizenzaktivierungen, die ein Kunde haben kann, begrenzen möchten, ist es dennoch möglich, ihm zu erlauben, eine Lizenz in seiner lokalen Entwicklungsumgebung zu aktivieren, ohne seine Aktivierungsanzahl zu beeinträchtigen.

Dies ermöglicht es Ihren Benutzern, in ihren Test- und Entwicklungsumgebungen auf dem neuesten Stand zu bleiben, ohne kostenlose Lizenzaktivierungen zu erhalten.

Damit dies funktioniert, müssen zwei Dinge geschehen:

1) Lokale Host-URLs ignorieren

Suchen Sie in Ihrem WordPress-Admin unter Downloads → Einstellungen → Erweiterungen → Software Licensing nach einem Kontrollkästchen mit der Aufschrift Lokale Host-URLs ignorieren.  Stellen Sie sicher, dass dieses aktiviert ist.

2) Kunden aufklären

Siehe diesen Leitfaden, wie Aktivierungen für Entwicklung-Websites ignoriert werden.

Wie erstelle ich benutzerdefinierte Lizenzschlüsselformate?

EDD-Lizenzschlüssel sind standardmäßig eine md5-Summe wie diese:

e0c7ccc47b2613c82d1073a4214deecc

Wenn Sie etwas anderes wünschen, ist es mit Software Licensing so einfach wie die Erstellung einer Funktion zur Erzeugung konsistenter eindeutiger Schlüssel und das Hooken in einen Filter namens edd_sl_generate_license_key.

Lizenzschlüsselformate können wirklich alles sein, was Sie möchten, solange sie eindeutig und konsistent sind. Wenn Sie Schlüssel in diesem Format wünschen:

username_timestamp_licensekey

sdavis2702_20151015120022_e0c7ccc47b2613c82d1073a4214deecc

Sie können diese Funktion verwenden:

// Example shown how to base the MD5 off of the user's email and purchase date
function pw_edd_license_md5_user_and_date( $key, $license_id, $download_id, $payment_id, $cart_index ) {

    $name      = get_user_by( 'email', edd_get_payment_user_email( $payment_id ) );
    $date      = get_post_field( 'post_date', $payment_id );
    $timestamp = strtotime($date);
    $nice_date = date( 'Yndhis', $timestamp );
    $license   = md5( $license_id );
    $key       = $name->user_nicename . '_' . $nice_date . '_' . $license;

    return $key;
}
add_filter( 'edd_sl_generate_license_key', 'pw_edd_license_md5_user_and_date', 10, 5 );

Eine einfachere Funktion verwendet nur Benutzername und Lizenzschlüssel:

// prepend user's username to license key
function sd_edd_license_username_md5( $key, $license_id, $download_id, $payment_id, $cart_index ) {
    $name      = get_user_by( 'email', edd_get_payment_user_email( $payment_id ) );
    $license   = md5( $license_id );
    $key       = $name->user_nicename . '_' . $license;

    return $key;
}
add_filter( 'edd_sl_generate_license_key', 'sd_edd_license_username_md5', 10, 5 );

Das Wichtigste, was Sie aus diesem Dokument mitnehmen sollten, ist, dass Sie jeden Code verwenden können, der konsistente eindeutige Zeichenfolgen erzeugt, und diese Zeichenfolgen als Lizenzschlüssel verwenden können.

Anzeige einer Liste von Lizenzschlüsseln eines Kunden

Der folgende Code ermöglicht es Ihnen, eine Liste von Lizenzschlüsseln für einen bestimmten Kunden abzurufen und anzuzeigen.

Hinweis: „$customer->id“ sollte durch die tatsächliche Kunden-ID ersetzt werden.

$licenses = edd_software_licensing()->licenses_db->get_licenses( array(
		'number'      => -1,
		'customer_id' => $customer->id,
		'orderby'     => 'id',
		'order'       => 'ASC',
	) );

Was passiert, wenn die Domain meines Shops nicht erreichbar ist?

Wir empfehlen Ihnen, das EDD Software Licensing SDK zu verwenden, um die Lizenzierung in Ihrem WordPress-Plugin oder -Theme zu verwalten. Das SDK sendet keine wiederholten API-Anfragen an Ihre Website, wenn es keine gültige Antwort erhält.

Wenn Sie beabsichtigen, Domains zu ändern oder einen Domainnamen stillzulegen, wäre es am besten, ein Update zu veröffentlichen, das die neue Domain verwendet, oder die Aufrufe der API ganz zu entfernen.

Häufige Probleme

Beispielcode anpassen

Der mitgelieferte Beispielcode für Software Licensing verwendet möglicherweise Funktionspräfixe wie edd_ und edd_sl_. Diese sollten geändert werden, um Ihrem eigenen Plugin zu entsprechen. Eine Suche und Ersetzung ist eine ausgezeichnete Methode, aber Sie müssen bei Ihrer Suchzeichenfolge vorsichtig sein.

Es gibt Funktionen mit Präfixen wie edd_action_ , die nicht geändert werden sollten. Stellen Sie sicher, dass Sie nur die Präfixe Ihrer eigenen Funktionsnamen ändern und nicht die Kernpräfixe von EDD.

Fehlerbehebung bei Update-Problemen

Wenn Sie Fehler beim Aktualisieren von Plugins und Themes aus Ihrem Software Licensing-Shop sehen, gibt es ein paar Dinge, die Sie überprüfen können, abhängig von der gemeldeten Fehlermeldung.

Passen Sie Ihren Updater an

Wenn Sie die Legacy-Plugin-Updater-Klasse verwenden, die in früheren Versionen von Software Licensing bereitgestellt wurde, verwenden Sie wahrscheinlich die Klasse EDD_SL_Plugin_Updater, um Lizenzierung und Update-Prüfungen zu verwalten. Es besteht die Gefahr eines „Konflikts“, wenn ein anderes Plugin eine andere Version der Klasse EDD_SL_Plugin_Updater enthält als die, die Sie mit Ihrem Plugin bündeln. Sie können diese Klasse in etwas Eindeutiges für Ihr Plugin umbenennen, um Konflikte zu vermeiden. Wenn mein Plugin beispielsweise „My Custom Ads“ heißt, könnte ich EDD_SL_Plugin_Updater in MCA_Plugin_Updater umbenennen und alle Verweise darauf ändern. Alternativ vereinfacht die Verwendung des EDD Software Licensing SDK erheblich, wie Sie Plugin-/Theme-Updates verwalten können.

SSL-Fehler

Es gibt viele Fehler, die durch SSL-Konnektivitätsprobleme verursacht werden können. Die folgenden werden häufig bei Software Licensing beobachtet.

SSL: Der Name des Zertifikatssubjekts stimmt nicht überein

Diese Fehlermeldung bedeutet, dass das auf Ihrer Website installierte SSL-Zertifikat nicht mit Ihrem primären Domainnamen übereinstimmt. Dies kann typischerweise in Shared-Hosting-Umgebungen vorkommen, und die häufigste Lösung ist die Anforderung einer dedizierten IP-Adresse von Ihrem Hosting-Anbieter. Wenn Ihr Hosting-Anbieter keine dedizierten IP-Adressen unterstützt, müssen Sie mit Ihrem Hosting-Anbieter zusammenarbeiten, um eine ordnungsgemäße SSL-Kette zu konfigurieren, die mit Ihrem primären Domainnamen übereinstimmt, anstelle eines gemeinsam genutzten Wildcard-SSL-Zertifikats.

SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

Dieser SSL-Handshake-Fehler tritt auf, wenn die OpenSSL-Version auf dem Server der Website, die das Update anfordert, veraltet ist und die SSL-Protokolle, die der Store, der das Update liefert, benötigt, nicht unterstützt. Es gibt zwei Möglichkeiten, dieses Problem zu beheben. Die ideale Lösung besteht darin, dass die Website, die das Update anfordert, sicherstellt, dass ihre OpenSSL-Software für ihre Plattform auf dem neuesten Stand ist. OpenSSL ist eine Server-Software, die die Kommunikation über das HTTPS-Protokoll erleichtert. Wenn dies keine mögliche Lösung ist, können Sie mit Ihrem Hosting-Provider oder Serveradministrator zusammenarbeiten, um Ihren Webserver so zu konfigurieren, dass diese veralteten SSL-Versionen akzeptiert werden. Dies ist jedoch nicht ideal, da es unsicherere Verbindungen zu Ihrem Server zulässt.

cURL-Fehler 35: SSL-Verbindungsfehler

Dieser spezielle Fehler bei der Bereitstellung von Updates durch Software Licensing tritt normalerweise bei der Verwendung der flexiblen SSL-Option von Cloudflare auf. Diese Option verursacht eine Kettenproblematik bei einigen cURL-Versionen, die auf dem Client-Server, der das Update anfordert, vorhanden sind. Es gibt einige Möglichkeiten, dies serverseitig zu beheben (ohne dass der Client aufgefordert werden muss, seine cURL-Version zu aktualisieren). Die erste besteht darin, auf ein kostenpflichtiges Cloudflare SSL aufzurüsten. Die kostenpflichtigen SSL-Zertifikate von Cloudflare stellen normalerweise kein Problem dar. Die andere Lösung besteht darin, ein SSL-Zertifikat von einem Drittanbieter zu erwerben und es direkt auf Ihrem Server zu installieren.

Download fehlgeschlagen. SSL: Kein alternativer Zertifikats-Subjektnamen stimmt mit dem Zielhostnamen überein
An error occurred while updating Resurrect: Download failed. SSL: certificate subject name '*.example.com' does not match target host name 'anotherexample.com'

Dies tritt auf, wenn die Website des Kunden eine alte Version von OpenSSL oder cURL hat. Die beiden Websites können dann nicht sicher kommunizieren und das Update schlägt fehl.

Die einzige Lösung besteht darin, dass die Website mit der älteren Softwareversion auf ihrem Server auf die neuesten Versionen aktualisiert.

Download fehlgeschlagen. SSL-Peer-Zertifikat oder SSH-Remote-Schlüssel war nicht OK

Wenn Ihre Kunden diesen Fehler beim Aktualisieren ihrer Produkte sehen, müssen Sie sich an Ihren Webhoster wenden, um ihn darüber zu informieren, dass Ihr SSL-Zertifikat falsch konfiguriert ist:

Download fehlgeschlagen. Dienst nicht verfügbar

Sie sehen diesen Fehler, wenn Sie versuchen, ein Plugin oder Theme auf einer Website zu aktualisieren, die dieses Plugin oder Theme auch hostet. Aufgrund der Art und Weise, wie Software Licensing mit der WordPress Update API integriert ist, ist es derzeit nicht möglich, Ihre eigenen Themes oder Plugins von der Website zu aktualisieren, die sie verkauft. Wenn WordPress ein Update installiert, versetzt es Ihre Website vorübergehend in den Wartungsmodus, und während dieses Vorgangs kann Ihre Website kein eigenes Update installieren. Um ein Plugin oder Theme von einer Website zu aktualisieren, die es auch verkauft, müssen Sie das Update manuell installieren.

Download fehlgeschlagen. Nicht autorisiert / Zu viele Weiterleitungen

Dieser Fehler tritt auf, wenn Sie Ihr Plugin oder Theme auf eine neue Version aktualisieren. Wenn Sie Ihre neue Version hochladen, und Sie eine neue Datei mit Ihrer neuen Version hinzufügen und dann die vorherige Dateizeile löschen, anstatt die aktuelle Version zu ersetzen, kann dieser Fehler auftreten. Derzeit sind wir uns dieses Fehlers bewusst und arbeiten daran, ihn zu beheben. Die einfache Lösung in der Zwischenzeit ist jedoch, ein zweites Mal auf die Schaltfläche „Aktualisieren“ zu klicken, um die Dateischlüssel neu zu schreiben, oder die aktuelle Datei immer zu ersetzen, anstatt Ihre neuen Dateien in eine zweite Dateizeile einzufügen.

Update-Paket nicht verfügbar

Wenn dieser Fehler auftritt, bedeutet dies normalerweise:

  1. Es gibt ein Problem mit der Lizenzaktivierung auf der Website des Kunden. Es gibt einige Dinge zu überprüfen, wenn ein Kunde diesen Fehler meldet. Das erste ist, dass die Domain, die er zu aktualisieren versucht, für die Lizenz aktiviert wurde. Sie können dies feststellen, indem Sie zu Downloads → Lizenzen gehen. Sie können dann nach dem Lizenzschlüssel suchen, den der Benutzer zu aktualisieren versucht, und auf „Websites verwalten“ klicken, um sicherzustellen, dass die Domain, auf der er sich befindet, in der Liste aufgeführt ist. Wenn nicht, können Sie sie entweder selbst über den Admin hinzufügen oder den Kunden bitten, seine Lizenzverwaltungsseite zu besuchen und sie selbst zu aktivieren.
  2. Das andere Ergebnis ist, dass eine Lizenz abgelaufen oder deaktiviert ist. Wenn dies der Fall ist, muss der Kunde seine Lizenz entweder erneuern oder ein Website-Administrator hat sie manuell deaktiviert.

Seltsamer, langer Ordnername nach dem Updater

Dies geschieht, wenn die .zip-Datei falsch erstellt wird. Beim Erstellen des endgültigen .zip-Archivs ist es wichtig, den Ordner und dessen Inhalt zu zippen, anstatt nur den Inhalt des Ordners.

Die Zip-Datei-Struktur sollte ungefähr so aussehen:

dateiname.zip

– produkt-name/

— datei hier

— andere datei hier

Mit anderen Worten, die Dateien müssen sich in einem Ordner befinden und nicht an der Spitze der Zip-Datei. Packen Sie Ihre Datei neu, um den Ordnernamen darin einzuschließen, und das wird das Problem beheben.

CloudFlare-Integration

Wenn Sie CloudFlare als CDN, Caching-Layer oder SSL-Anbieter verwenden, empfehlen wir Ihnen, CloudFlare so zu konfigurieren, dass der Cache für alle URLs, die die folgende Zeichenfolge enthalten, umgangen wird:

/edd-sl

Dies ist der API-Endpunkt für die Überprüfung des Lizenzstatus und die Bereitstellung von Update-Paketen. Wenn diese Endpunkt-URLs gecacht werden, kann dies zu Problemen bei der ordnungsgemäßen Bereitstellung von Updates für Ihre Kunden führen.

PCLZIP_ERR_BAD_FORMAT

Dieser Fehler ist nicht einzigartig für die EDD Software Licensing-Plattform, aber es gibt ein paar Lösungen, die Sie überprüfen könnten. Die erste ist, dass genügend Festplattenspeicher vorhanden ist, damit die Datei heruntergeladen und entpackt werden kann (gehen Sie davon aus, dass Sie das 2-fache der Größe der .zip-Datei benötigen, um das Update zu verarbeiten). Wenn Ihre .zip-Datei 1 MB groß ist, benötigen Sie etwas mehr als 2 MB, um ein Update ordnungsgemäß zu verarbeiten. Diese Zahlen sind nicht genau 2x, aber es ist ein guter Ausgangspunkt.

Die andere Sache, die Sie überprüfen sollten, ist, dass die .zip-Datei nicht beschädigt ist. Sie können dies testen, indem Sie die .zip-Datei auf einen anderen Computer übertragen (per E-Mail oder über USB) und versuchen, sie auch dort zu entpacken. Wenn sie auf einem anderen Computer nicht entpackt werden kann, gibt es wahrscheinlich ein Problem mit der Erstellung der .zip-Datei auf dem ursprünglichen Computer.

Dieser Fehler kann auch durch ein Plugin oder ein Skript verursacht werden, das einen Fehler auslöst. Wenn die Software Licensing API versucht, das Zip-Paket zu erstellen, wird der Fehler zur Zip-Datei hinzugefügt und zerstört deren Struktur. Normalerweise bedeutet dies, dass Ihre Website in der wp-config.php-Datei auf WP_DEBUG auf TRUE gesetzt hat. Obwohl dies eine gute Möglichkeit ist, nach Fehlern zu suchen, ist es am besten, sie auf einer Live-Website auf FALSE zu setzen. Alternativ können Sie sie aktiviert lassen, aber die Fehler in eine Datei auf Ihrem Server protokollieren, in der Datei wp-contents/debug.log. Tun Sie dies, indem Sie die folgenden Zeilen zur wp-config.php-Datei hinzufügen:

define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_display', false );
Was this article helpful?

Verkaufen Sie noch heute!

Schließen Sie sich über 50.000 klugen Shop-Besitzern an und nutzen Sie die einfachste Methode, um digitale Produkte mit WordPress zu verkaufen.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]