Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Jak spustit PHP soubor?

Ahoj, prosím o rady. Potřebuji spustit několik PHP souborů (webová stránka/aplikace), kód psaný před cca 10-15 lety, verzi PHP nevím (neorientující se laik).

Jak spustit PHP soubor?
1) v Linuxu Ubuntu,
2) ve Windows 10 Pro.
Musím v operačním systému něco emulovat, abych PHP soubor spustil ve webovém prohlížeči?

Předmět Autor Datum
Snad víte, co by ten PHP soubor měl dělat. Jednou z cest je rozchodit si lokálně (na svém PC) webser…
Kurt 22.10.2021 13:28
Kurt
Děkuji za nasměrování. Zhruba tuším, že to jsou statické stránky. Přišel jsem k tomu nahodile poptáv…
Time 22.10.2021 13:42
Time
To co ti pordil Kurt je naozaj pre laika to najjednoduchsie riesenie, mozes kludne mariadb vymenit z…
Michal2 22.10.2021 14:22
Michal2
Nic ve zlém. Vše tu už padlo. Je vidět, že netušíš která bije. PHP soubor vážně nijak nesouvisí se…
tomas.kulhanek 23.10.2021 00:45
tomas.kulhanek
Jestli ti jde jen o rychlé otestování těch PHP souborů, proč si nezaregistruješ nějaký free hosting?
host 22.10.2021 19:51
host
kód psaný před cca 10-15 lety, verzi PHP nevím Řekl bych, že dnešní PHP se tím vůbec nebude kamarád…
IQ37 22.10.2021 21:37
IQ37
Syntaxe příkazů asi projde ( pravěké if .... end apod. i dnešní verze 7.x umí). Ale případné čtení d…
hynajs 23.10.2021 09:11
hynajs
Děkuji všem za rady a ještě poprosím o trpělivost. Zkusím shrnout výchozí situaci. Nové PC na kterém…
Time 23.10.2021 11:19
Time
A co je v tom souboru? Pokud tam je fakt něco statického (HTML), tak není co řešit
tomas.kulhanek 23.10.2021 12:01
tomas.kulhanek
Pokud se to jmenuje výpočty.php, tak bych byl nakloněn věřit tomu, že to fakt není statické HTML, al…
gilhad 23.10.2021 12:51
gilhad
Apache sám nevyžaduje připojení k internetu. Apache je webserver, takže ten PHP skript nabízí k přip…
gilhad 23.10.2021 12:47
gilhad
Laik = popleta. Hmm, takže je to dynamické. Omlouvám se. Moc děkuji za obsáhlé informace. Chápu dobř…
Time 23.10.2021 19:14
Time
Asi by to šlo, pokud poběží - je možné, že se mezitím změnil systém a něco nepůjde, nebo že jí budou…
gilhad 23.10.2021 20:58
gilhad
Jak spustit php? No přece pomocí php :-) Takže moje doporučení je php.exe + php8ts.dll (ke stažení n…
kacikac 23.10.2021 19:13
kacikac
Díky. Zkusím to. Lze se takto dostat ke starším verzím? Je to starý kód...
Time 23.10.2021 19:26
Time
Jako jak dostat ke starším verzím? php server je dostupný myslím od nějaké pětkové verze Jestli to n…
kacikac 23.10.2021 19:30
kacikac
Laik nic nepřekope. To je bez šance. Psal jsem to výše.
Time 23.10.2021 19:32
Time
Tak se laik bude muset něco doučit, když chce používat PHP skripty...
host 23.10.2021 19:33
host
Laik může taky zkusit ty starší verze PHP, které postrádají řadu funkcí verzí nových (ale stejně ten… poslední
gilhad 23.10.2021 21:42
gilhad
Trochu vlastní iniciativy by neškodilo, na takovou banalitu. https://windows.php.net/downloads/relea…
host 23.10.2021 19:31
host
Jsem zahlcený. Nikoli líný. Děkuji. To máte tak, snažíte se mluvit cizím jazykem a přitom ho neumíte…
Time 23.10.2021 19:33
Time
Aha, takže ty jsi zahlcený a všichni ostatní se kopou do zadku. Díky za vysvětlení.
host 23.10.2021 19:34
host

Děkuji za nasměrování. Zhruba tuším, že to jsou statické stránky. Přišel jsem k tomu nahodile poptávkou od uživatele na starém PC. Je třeba to rozchodit na novém PC.
Prosím o doporučení něčeho menšího, než XAMPP.
Snad ještě někdo poradí jak to zprovoznit na Linux Ubuntu.

kód psaný před cca 10-15 lety, verzi PHP nevím

Řekl bych, že dnešní PHP se tím vůbec nebude kamarádit a vyhodí hromadu chybových hlášek, které jako "neorientující se laik" nemáš šanci sám vyřešit.

Syntaxe příkazů asi projde ( pravěké if .... end apod. i dnešní verze 7.x umí).
Ale případné čtení dat ze souborů XML nebo databáze MySQL (které stejně tazatel asi nemá) by ztroskotalo na už neexistujících knihovnách.
A ještě regulární výrazy: ereg by nefungovalo.
Takže bez dat čtených zvenčí a regulárních výrazů bych tipoval pouze na warnings (bez záruky).

Děkuji všem za rady a ještě poprosím o trpělivost.
Zkusím shrnout výchozí situaci. Nové PC na kterém mám zprovoznit v prohlížeči PHP soubor (vytvořeno asi 2005), to je atrapa PC od Asusu s 32 GB "diskem". Jsou na tom nadoraz kapacitě narvané Win10Home. Systém sotva žije. Jistý blbec to vnutil koupí neznalému uživateli, který se bohužel neporadil s nikým dalším a zakoupil to.
Řešení vidím v instalaci Lubuntu. To případně umožní bezpečný přístup k internetu, do pošty + je požadováno rozběhnutí PHP souboru bez nutnosti připojení se k internetu. Samotný PHP kód nevyžaduje internetové připojení, žádné databéze, asi vše "statické povahy". Další programové požadavky na PC zatím nejsou. Další možností je, že nová instalace W10H a příležitostná obnova ze zálohy, protože Windows budou narůstat na objemu. Uživatel Windows nevyžaduje. Zkoušel jsem uživateli podstrčit Lubuntu na mém PC a po edukaci během 10 minut věděl co, kde a jak, takže se bez Windows může obejít.
S ohledem na nízkou a zcela obsazenou kapacitu disku jsem výše žádal o minimalistické řešení "serveru", protože na současném W10H systému v podstatě není šance ani na pár set MB volného místa. To případně vyřeší až reinstalace OS.

Zjistil jsem, že na starém desktop PC to PHP běželo na Apache.exe (kompilováno 2001-05-18).
Při pohledu do vlastností ikony zástupce vidím:
"C:\Program Files\Internet Explorer\iexplore.exe" http://127.0.0.1/vypocty/vypocty.php

Laicky se ptám... pomůže mi pod W10H a jak nakonfigurovat, včetně toho jak nastavit ikonu zástupce na ploše pro ruční spuštění PHP souboru do defaultního prohlížeče?
1) Portable Webserver https://sourceforge.net/projects/portableserver/
nebo
2) Tiny PXE Server http://reboot.pro/files/file/303-tiny-pxe-server/

Kurt: Viz výše. Na to mizerné PC s W10H je nereálné XAMPP nyní dostat. Snad pod Linuxem bude šance, pokud přistoupím k jeho instalaci.
tomas.kulhanek: Docker prozkoumám, děkuji za radu. Skutečně jsem laik a nevím která bije. Mám vůli to zvládnout a něco se naučit, alespoň trochu.
host: Je požadavek aby to bylo použitelné offline, proto se domnívám, že to nemá smysl testovat na free hostingu.
IQ37, hynajs: Rozumím. Více se dozvím, když se mi to podaří spustit.

Pokud se to jmenuje výpočty.php, tak bych byl nakloněn věřit tomu, že to fakt není statické HTML, ale dynamické stránky, které se zeptají na nějaká zadání a vyplyvnou nějakou vypočítanou odpověď :-D
Jinak by to nepotřebovalo Apache, jmenovalo se to nějak.HTML a otevíral se přímo ten nějak.HTML z lokálního disku, nikoli výpočty.php z lokální sítě.

Apache sám nevyžaduje připojení k internetu.
Apache je webserver, takže ten PHP skript nabízí k připojení pro webový prohlířeč, přez síť. To, že síť žádná není mu zase tak moc nevadí, stejně jako to, že browser se připojuje z lokálního počítače na lokální adresu 127.0.0.1 (to je adresa "tento počítač" prakticky na libovolném počítači. A většinou se tato adresa nazývá "localhost".) na které ten Apache pracuje.
(Může to vyžadovat nějaké úpravy v nastavení toho Apache, ale nejspíš nic složitého a mělo by to jít zkopírovat z toho původního stroje)
Už vzhledem k názvu (vypocty.php) skoro jistě nejde o stránky "statícké" (tedy takové, které svůj obsah nemění), protože se obsah stránek mění tím, že se na nich ukáže výsledek nějakého výpočtu. Ale skutečně k tomu internetové připojení potřebovat nemusí, ani databáze, a stránky můžou být "lokální". Pro vyzkoušení na internetovém serveru na internetu by to vadit nemělo.
Apache ty stránky poskytuje v "internetovém tvaru a internetovým protokolem", aniž by mu vadilo, že to dělá vlastně jen pro lokální počítač. A ten Internet Exploder je internetový prohlížeč, ale taky mu nevadí, že na jeho otázky odpovídá něco z lokálního počítače, hlavně když to odpovídá způsobem, kterému rozumí.
Ikonku na ploše nastavíš tak, aby otvírala URL http://127.0.0.1/vypocty/vypocty.php v libovolném webovém prohlížeči (nebo v prohlížeči, který si vybereš), že je to psané pro staré verze prohlížečů (2001 asi tak) by až tak moc vadit nemělo, prostě to bude asi vypadat jako věc z roku 2001 (teda skoro jako dosud) a nebude pto používat žádné novinky a většina prohlížečů to stejně nějak zkousne. Pokud tam budou nějaké vychytávky speciálně pro IE4 , nebo na jakou verzi to bylo psané, a rozlišení 640x480 tak se to možná trochu graficky rozsype, ale nejspíš to bude OK, nebo jen blbě zarovnané.
Pokud tam v tom adresáři /vypocty/ (nebo těsně okolo) bude něco jako httpaccess nebo nějaké takovéhle divné soubory pro konfiguraci Apache, tak možná bude potřeba upravit konfiguraci


    Order allow,deny
    Allow from all
zmenit na 
    Require all granted

a tak podobně, ono se to někdy řádově před 10 lety nebo tak nějak IMHO trochu změnílo. Že to je potřeba nějak opravit, ti řekne prohlížeč (že stránka je nedostupná, nebo jiná podobná výmluva) nebo Apache v logu (že nějaké direktivy jsou neznámé/nepodporované a tak)

Asi by to šlo, pokud poběží - je možné, že se mezitím změnil systém a něco nepůjde, nebo že jí budou chybět knihovny, nebo tak něco.
Možná bude mít nějaké zápisy v registrech, taky může být přeložená s optimalizacemi pro určitý typ procesoru, pak by se musela přeložit znovu.

Ale je docela rozumná šance, že to poběží i jen tak.
A nebo, jak navrhuje někdo níž, tak použít pouze PHP jako "vývojový server" = běžící na lokálním počítači a s určitými omezeními, která ale tady při tom použití nemusí vadit.

Jak spustit php? No přece pomocí php :-)
Takže moje doporučení je php.exe + php8ts.dll (ke stažení na ofiko webu php)
Server se spouští například takto:

php -S localhost:80 -t "%~dp0www"

kde www je složka s php skripty.
Pokud potřebuješ nastavit php tak jen přiložíš php.ini s nastavením (a třeba s extension pokud jsou potřeba), funguje to ale i na default bez php.ini. Funguje to i jako portable, jde to přenášet.
Takto předběžně je podle mě použít XAMPP na pár souborů php jako vzít atomovku na mravence :-D
Já server v php používám celkem běžně a pohoda, třeba i v kombinaci s sqlite nebo mysql :-)

Laik může taky zkusit ty starší verze PHP, které postrádají řadu funkcí verzí nových (ale stejně ten skript je nebude používat) a můžou mít i řadu chyb a zranitelností (ale pokud ten skript poběží jen lokálně a nebude se na něj přistupovat přez síť a používat to bude jen majitel, tak většinu zranitelností lze ignorovat - majitel se nebude potřebovat vlamovat do svého počítače, když tam stejně má přístup i tak a naopak nikdo jiný by se k tomu skriptu neměl dostat, pokud tam bude síťový přístup zvenku zakázaný = příčetně nastavený firewall).

Aneb pokud se vůbec nevyznáte v matkách a klíčích na matky, tak berte klíče jeden po druhém, pořád je šance, že na nějaký použitelný dříve či později narazíte :-D
Existují, pravda, způsoby efektivnější, ale když je to jen jednou za řadu let jen jedna matka, tak se to dá i takto.
Nevím, jak velký je opruz odstranit nainstalované PHP z Windows a dát tam starší, pokud to celkem jde, tak by asi bylo dobré postupovat od nějaké nové stabilní verze a jít po stabilních verzí do minulosti, pokud to je velký opruz, tak naopak vzít nějakou verzi z té doby a postupně "updatovat" po nových stabilních verzích k přítomnosti. Stabilní verze je taková, která je tak označená autory, od okolních se často liší jen nějakým číslem na konci verze (verze 5.xx.yy.zz...) a tím, že má v rámci možností vychytané chyby. Pokud je za stabilní označená nějaká řada (třeba 5), tak vzít z té řady tu nejnovější verzi ( 5.xx.yy.zz kde nedřív porovnáte to xx jako číslo, v případě rovnosti yy, nakonec zz - 5.11.1 je aktuálnější než 5.2.99, protože 5 je stejné jako 5 a 11 je víc než 2 - pozor, při výpisu to může být řazeno abecedně, tedy 5.1.88, 5.11.1, 5.2.99, nenechte se tím zmáct). Stabilní verzi chcete kvůli opraveným chybám, protože stejně nedokážete kvalifikovaně posoudit, čím se jednotlivé ostatní verze liší a výrazně se tím zmenší počet kandidátů na správný klíč pro danou matku (pokud nejde o nějakou šílenost, která je závislá na chybách určité verze, ale to by v ní pak mělo být výrazně okomentováno).

PHP soubory jsou obyčejné texťáky, plné nějakých divných textů (jak to u zdrojáků bývá) a občas i komentářů, které vypadají celkem lidsky čitelně. Je potřeba je prohlížet v něčem, co umí čistý text a rozhodně je neukládat, protože většina windowsích programů se to stejně pokusí "opravit za vás", čímž to celé rozbije.


        <?
        // BACHA tohle chodí jen v PHP 3.1.4.15.9265 !!!
       //  kecám, je to jen náhodný kousek kódu z cizího projektu a netuším v čem přesně chodí, asi v hodně velké řadě verzí
       // a asi ani není nikterák úžasný, ale kdysi to chodilo
        if ($action=="remove")
        {
                dumppost($HTTP_SERVER_VARS['REMOTE_USER']);                                             
                $id=intval(mysql_real_escape_string($_POST['id']));
                $sql = "DELETE FROM wanteditems WHERE ID='$id';";
                $result = mysql_query($sql,$db);
        }

Takže by mohlo stát za to, se do toho vypocty.php podívat, jestli tam někde nedaleko začátku není nějaké takovéto varování.

Zpět do poradny Odpovědět na původní otázku Nahoru