Composer / sandbox /verze Nette

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
MokrOus
Člen | 5
+
0
-

Ahoj,
při řešení jiného problému (gettext) jsem zjistil že se nevím, jak správně použít composer pro stažení sandboxu.
Před spuštěním composeru s ujistím, že ~/.composer/ neexistuje abych vyloučil nějaké chybné/staré nastavení.
PHP mám ve verzi 5.3.2

spuštěním příkazu: composer create-project nette/sandbox nette-blog
nebo: composer require nette/sandbox
podle https://doc.nette.org/cs/quickstart
se mi stáhne sandbox ve verzi 2.1.12 což je evidentně stará verze.
pokud se pokusím vnutit composeru vyšší verzi:
composer create-project nette/sandbox mujweb 2.3.8
dostanu odpověď:

[InvalidArgumentException]
Could not find package nette/sandbox with version 2.3.8.

pokud stahuji příkazy typu: composer require nette/nette
nebo: composer require nette/application
stahuje se správně nejnovější verze 2.3.8 (ale zase chybí adresářová struktura ze sandboxu)

Tušíte prosím někdo, v čem by mohl být zakopaný pes? Jaký by měl být správný postup?

Moc díky
MokrOuš

David Grudl
Nette Core | 8239
+
0
-

Zkus použít parametr --ignore-platform-reqs, sandbox totiž vyžaduje 5.3.7, aby fungoval předpřipravený UserManager. Nette\Security\Passwords totiž vyžaduje PHP 5.3.7. (Vše ostatní běží s 5.3.1).

MokrOus
Člen | 5
+
0
-

Díky za info, provedl jsem upgrade, takže mám novější PHP a instalace sandboxu už funguje pěkně. Moc díky za radu a asi bych doporučil upravit homepage Quickstartu tak, aby tam bylo uvedena minimální verze PHP, se kterou nejnovější verze Nette poběží (asi ta 5.3.7). Pro začátečníka to pak může být docela oříšek přijít na příčinu problému.

David Grudl
Nette Core | 8239
+
0
-

Ten Quickstart skutečně běží s PHP 5.3.1, protože nepoužívá tu jednu jedinou třídu, která vyžaduje PHP 5.3.7, takže asi spíš upravím Sandbox.

err
Člen | 77
+
0
-

S tou verzí php 5.3.7 kvůli hash() je to trošku podpásovka. Zejména, pokud se na stránkách se stažením uvádí – vyžaduje php verze 5.3.1 …

Mám php 5.3.3 a na serveru jej upgradovat zatím nemůžu. Ten usermanager si přepíšu, což o to, ale je nějaká možnost, že narazím na další nekompatibility?

David Grudl
Nette Core | 8239
+
0
-

Je to jediný případ. Nedá se nic nedělat, prostě se ukázalo, že tahle jedna funkce použitá na jediném místě v Nette obsahuje chybu v PHP < 5.3.7. Tudíž jí nelze používat. Quick start ji nepoužívá, takže si vystačí s PHP 5.3.1.

err
Člen | 77
+
0
-

Díky. Ten usermanager není problém. udělám si sůl a hash hesla zvlášť ve sloupečkách, takže si posolím z databáze a pro každého uživatele jinak. Myslím, že to plně nahradí.