{"id":2971,"date":"2022-10-24T11:09:20","date_gmt":"2022-10-24T09:09:20","guid":{"rendered":"https:\/\/ekiwi.de\/?p=2971"},"modified":"2022-10-24T11:09:28","modified_gmt":"2022-10-24T09:09:28","slug":"phpspreadsheet-composer-und-probleme-mit-php-7-x","status":"publish","type":"post","link":"https:\/\/ekiwi.de\/index.php\/2971\/phpspreadsheet-composer-und-probleme-mit-php-7-x\/","title":{"rendered":"PHPSpreadsheet, Composer und Probleme mit PHP 7.x"},"content":{"rendered":"<p>PHPSpreadsheet will PHP 8?<\/p>\n<p><!--more--><\/p>\n<p>Vor kurzem habe ich unser <a href=\"https:\/\/da-software.net\/software\/da-formmaker\/\">Formmail-Script f\u00fcr PHP 8<\/a> fit gemacht. Anscheinend etwas zu fit, am Ende war es nur f\u00fcr PHP 8 kompatibel, wie die Fehlermeldung zeigte: <\/p>\n<pre>\r\nFatal error: Composer detected issues in your platform: \r\nYour Composer dependencies require a PHP version \">= 8.0.0\". \r\nYou are running 7.4.32.\r\n<\/pre>\n<p>Mittels Composer habe ich geschaut, welche Bibliothek dies verursacht:<\/p>\n<pre>\r\ncomposer show --tree\r\n<\/pre>\n<p>Es stellt sich raus, dass <a href=\"https:\/\/github.com\/PHPOffice\/PhpSpreadsheet\" target=\"_blank\" rel=\"noopener\">PHPSpreadsheet<\/a> die Ursache war. Zwar nicht direkt, aber durch die Bibliothek &#8222;psr\/simple-cache&#8220;.<\/p>\n<pre>\r\nphpoffice\/phpspreadsheet 1.24.1 PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine\r\n\u2514\u2500\u2500psr\/simple-cache ^1.0 || ^2.0\r\n   \u2514\u2500\u2500php >=8.0.0\r\n<\/pre>\n<p>Auf meinem Entwicklerungsrechner ist PHP 8 installiert, daher hat er auch die Version 2.0 von &#8222;simple-cache&#8220; gezogen, welche PHP 8 erfordert. Da ich das Script komplett ausliefere, der Anwender soll am Ende kein Composer selbst ben\u00f6tigen, war das Script damit inkompatibel mit PHP 7.x.<\/p>\n<p>Allerdings funktioniert PHPSpreadsheet auch mit der <a href=\"https:\/\/github.com\/PHPOffice\/PhpSpreadsheet\/issues\/2779\">1.0er Version von &#8222;simple-cache&#8220;<\/a>. Diese ben\u00f6tigt maximal PHP 5.x. Lande Rede kurzer Sinn, ich habe in der &#8222;comoser.json&#8220; Datie die Version auf 1.0 festgelegt.<\/p>\n<pre>\r\n\"psr\/simple-cache\": \"^1.0\"\r\n<\/pre>\n<p>Anschlie\u00dfend habe ich die Abh\u00e4ngigkeiten neu installiert.<\/p>\n<pre>\r\ncomposer install\r\n<\/pre>\n<p>Und siehe da, der Abh\u00e4ngigkeitsbaum zeigte nun keine Abh\u00e4ngigkeit mehr f\u00fcr PHP 8.x an.<\/p>\n<pre>\r\nphpoffice\/phpspreadsheet 1.25.2 PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine\r\n\u2514\u2500\u2500psr\/simple-cache ^1.0 || ^2.0 || ^3.0\r\n   \u2514\u2500\u2500php >=5.3.0\r\npsr\/simple-cache 1.0.1 Common interfaces for simple caching\r\n\u2514\u2500\u2500php >=5.3.0\r\n<\/pre>","protected":false},"excerpt":{"rendered":"<p>PHPSpreadsheet will PHP 8?<\/p>\n","protected":false},"author":1,"featured_media":2228,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[14,13],"tags":[772,31],"class_list":["post-2971","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php","category-programmierung","tag-composer","tag-php"],"_links":{"self":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/2971","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/comments?post=2971"}],"version-history":[{"count":0,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/2971\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media\/2228"}],"wp:attachment":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media?parent=2971"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/categories?post=2971"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/tags?post=2971"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}