Parse error: syntax error, unexpected ‚const‘ (T_CONST), expecting variable (T_VARIABLE)

ragulin
Člen | 58
+
0
-

Ahoj,

Parse error: syntax error, unexpected ‚const‘ (T_CONST), expecting variable (T_VARIABLE) in C:\xampp7\htdocs\XXX\htdocs\vendor\nette\safe-stream\src\SafeStream\SafeStream.php on line 28

localhost 7.0.27
na produkci je stejná verze PHP a běží to
NETTE 2.4.0

Co s tím? Přeci nemohu opravovat source data NETTE, ne?

Našel jsem všude po internetu, že je problém s tímto v PHP 7.0 a že to je povolené až od 7.1. Ten projekt ale běží na produkční a není důvod , proč by to na localhostu nešlo. Updatovat PHP rozhodně nemužu.

Děkuji za radu

Editoval ragulin (14. 10. 2020 2:44)

David Matějka
Moderator | 6445
+
+1
-

kdyz napises composer show, tak ti to ukaze nainstalovane verze balicku. a asi uvidis, ze u safe-stream balicku mas nainstalovanou verzi 2.4, ktera vyzaduje php 7.1. asi to aktualizoval nekdo, kdo ma novejsi verzi php.

na produkci tak musi bud byt starsi verze safe-stream nebo novejsi php.

koukni, jak nastavit pozadovanou verzi php pro projekt .. tim composeru reknes, ze ma vzdy brat jako rozhodujici verzi 7.0 bez ohledu na verzi php, ktera aktualne bezi.

jinak bys mel aktualizovat php, 7.0 uz neni nekolik let podporovana: https://www.php.net/…versions.php

David Grudl
Nette Core | 8108
+
+2
-

Případně česky v docce https://doc.nette.org/…ces/composer#…

ragulin
Člen | 58
+
0
-

Děkuji za radu.
PHP aktualizovat nyní nemohu, plánujeme Docker a pak možná.
Pokud to někomu do budoucna pomůže:

Smazat composer.lock , stáhnotu composer.lock z produkční verze.
Smazat obsah složky vendor
Composer install

Chyba vznikla tím, že jsem naklonoval projekt a v composer.json bylo nastavené, aby se nainstalovala nejnovější verze safe-stream, což jí updatovalo na 2.4, která nefunguej s PHP 7.0