Autor Zpráva
PetraPP
Profil
Ahojte,
na předchozím hostingu wedos jsem s tím problém neměla. Bylo tam PHP 7.1 a používala jsem PHP scripty s tímto označením <? .... ?>

Nyní jsem přešla VPS a nějak nemůžu přijít na to, jak u novějšího PHP 7.x nastavit, aby to fungovalo s <? ... ?>, protože to nyní po mně chce <?php .... ?>, což přepisovat desítky a desítky souborů se mně nechce.

Neporadíte, jde to vůbec?
Joker
Profil
Řídí to nastavení short_open_tag
Nicméně je doporučeno spíš používat delší otevírací značku <?php, právě proto, že <? je ve výchozím nastavení vypnuté a navíc to koliduje třeba s XML.
lionel messi
Profil
PetraPP:
což přepisovat desítky a desítky souborů se mně nechce.

To asi nikomu, a preto poskytuje vhodný softvér (tzv. IDE) funkciu Nájsť a nahradiť v celom projekte, takže by si to nemusela robiť manuálne.

O peniaze nejde, napr. NetBeans je zdarma a dokáže to.
Bubák
Profil
PetraPP:
Jak píše lionel messi, umí to „napr. NetBeans“, koukni se, zda to umí program, co používáš ty na psaní PHP, je dost velká pravděpodobnost, že to bude umět.
andynewcastleth
Profil
V PSPadu je to jednoduché:

N71
Profil *
Na každý pád, použití short open tagů je už dneska nežádoucí, v PHP7.4 bude direktiva short_open_tags označena jako deprecated a v PHP8 pravděpodobně odstraněna. Viz RFC.
Bubák
Profil
Já odobně bych raději zaměnil <? za <?php než <? za <?php, protože pokud už někde už je <?php, tak to bude dělat neplechu.
Keeehi
Profil
Bubák:
Ano, ovšem ne v každém případě tam musí být mezera. Takže asi by to chtělo použít regulár s bílým znakem, nebo možná word break a to už se nám to komplikuje. Jestli by nebylo lepší udělat prosté nahrazení <? za <?php a pak pro korekci případných problémů udělat nahrazení <?phpphp za <?php. Tím by snad vše mělo být pokryto.
Kajman
Profil
Ještě pozor na <?=
N71
Profil *
…a taky pozor na situace, kdy je '<?' uvnitř řetězce. Jinými slovy PSPad a obecně search&replace slušný programátor nepoužívá.
Joker
Profil
Bubák:
To ovšem předpokládá, že tam bude mezera.

Já osobně bych asi dal vyhledat „<?“ a dotaz před nahrazením a nežádoucí výskyty prostě přeskákal.
Při desítkách výskytů to i tak bude za minutu hotové a bude se to dělat jen jednou.

N71:
Jinými slovy PSPad a obecně search&replace slušný programátor nepoužívá.

Zrovna tady bych řekl, že vyhledat a nahradit bude nejefektivnější cesta.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0