web-dev-qa-db-de.com

Wie kann ich verhindern, dass ein Plugin aktualisiert wird, es sei denn, es ist ein Minimum PHP Version ist erfüllt?

Ich habe ein Plugin auf WordPress.org verteilt, das ziemlich beliebt ist. Ich muss die Unterstützung für PHP 5.2 fallen lassen und ich möchte zumindest die Unterstützung für PHP 5.2 fallen lassen, aber wenn ich das Minimum von PHP 5.4 schaffen könnte, späte statische Bindungen und nützliche Verschlüsse wären toll.

Bevor Sie PHP7 sagen, denken Sie daran, dass das Plugin nur von mehr als 100.000 Sites ausgeführt wird. Für alle WordPress-Sites sind 10% der Sites auf PHP 5.3 oder niedriger. Ich riskiere nicht, 10.000 Websites zu brechen.

Wir werden einen PHP Mindestversionsheader hinzufügen , aber dies tut auf programmatischer Ebene noch nichts.

Ich bin auf der Suche nach dem richtigen Muster, um Aktualisierungen meines Plugins dauerhaft kurzzuschließen, sofern nicht die Versionsanforderung PHP festgelegt ist. Hat jemand eine kugelsichere Möglichkeit, dies zu tun?

6
JPollock

Derzeit ist dies nicht möglich. Nicht ohne den PHP Mindestversionsheader implementiert zu haben.

Wenn das erledigt ist, wird es möglich sein. Bis dahin können Sie nicht alleine durch Plugin-Code basteln.

Theoretisch könnten Sie ein Update veröffentlichen, das zukünftige Updates für dieses eine Plugin blockiert, wenn die PHP -Version nicht erfüllt ist, aber dies würde Ihr Plugin auch dann nicht daran hindern, Updates zu erhalten, wenn es nicht aktiv war. Kann also nicht durchgeführt werden, da Plugin-Updates von WordPress und nicht von den Plugins selbst durchgeführt werden.

3
Otto

F ** k der Ludditen;)

Obwohl ich die Frage nicht direkt beantworte, ist meine eigene Erfahrung, ein halbpopuläres Plugin von 5.2 auf 5.3 zu verschieben, dass es viel weniger Reibungspunkte gibt, als Sie vielleicht erwarten, wenn Sie sich die Nutzungsstatistik von wordpress.org ansehen Website-Besitzer.

Und natürlich verdienen Leute, die direkte Änderungen an Produktionsstandorten vornehmen, einfach alles, was sie bekommen;)

In gewisser Weise verletzen Sie die Benutzer, wenn Sie keine auffälligen Hinweise auf die Inkompatibilität geben, mehr, als ihnen zu helfen, da sie ohne diese Hinweise keinen Anreiz erhalten, ihre Serverumgebung zu aktualisieren, und nicht wissen, dass dies der Fall ist Erhalten Sie niemals neue Funktionen oder Sicherheitsupdates.

0
Mark Kaplun