A php 5 telepítése 3. Telepítés a régebbi Windows OS verziókra

A kézikönyv ezen szakasza a Windows 98 / Me és a Windows NT / 2000 / XP / 2003 operációs rendszerekre vonatkozik. A PHP nem fog működni olyan 16 bites platformokon, mint a Windows 3.1, és néha a Windows által támogatott platformokat Win32 néven emlegetjük.

Megjegyzés:

A Windows XP / 2003 programot a PHP 5.5.0 már nem támogatja.

Megjegyzés:

A Windows 98 / Me / NT4 / 2000 programot a PHP 5.3.0 már nem támogatja.

Megjegyzés:

A Windows 95 már nem támogatott a PHP 4.3.0 alatt.

Ha olyan fejlesztői környezettel rendelkezik, mint például a Microsoft Visual Studio, a PHP-t forrásból is elkészítheti.

Miután telepítette a PHP-t a Windows rendszerre, érdemes lehet különféle kiterjesztéseket letölteni a további funkcionalitás érdekében.

Kézi telepítési útmutató

Ez a szakasz utasításokat tartalmaz a PHP kézi telepítéséhez és konfigurálásához a Microsoft Windows rendszeren.

PHP terjesztési csomag kiválasztása és letöltése

Töltse le a PHP disztribúciót zip archívumként innen:. A zip csomagoknak többféle változata létezik - válassza ki a webkiszolgálójának megfelelő verziót:

PHP csomag felépítése és tartalma

Csomagolja ki a zip archívum tartalmát egy tetszőleges könyvtárba, például C: \\ PHP \\. Az archívumból kivont mappák és fájlok szerkezete így fog kinézni:

1. példa PHP 5 csomagstruktúra

c: \\ php | + - dev | | | | -php5ts.lib - a php5.lib változata többszálas támogatás nélkül + - ext - DLL modulok a PHP-hez | | | | -php_bz2.dll | | | | -php_cpdf.dll | | | | -... | + - extrák - üres | + - körte a PEAR | eredeti példánya | | -go-pear.bat - PEAR telepítő szkript | | -... | | -php-cgi.exe - CGI futtatható | | -php-win.exe - parancsfájlokat nyitott konzol nélkül hajt végre | -php.exe - PHP parancssor futtatható (CLI) | | -... | | -php.ini-development - alapértelmezett php.ini beállítások | | -php.ini-production - ajánlott php.ini-beállítások | | -php5apache2_2.dll - csak többszálas verzióban érhető el | | -php5apache2_2_filter.dll - csak többszálas verzióban | | -... | | -php5ts.dll - mag PHP DLL (php5.dll a többszálas támogatás nélküli verzióban) | | -...

Az alábbiakban felsoroljuk a PHP zip disztribúciójában található modulokat és futtatható fájlokat:

    a php-cgi.exe egy CGI futtatható fájl, amely akkor használható, amikor a PHP-t IIS-en futtatják CGI vagy FastCGI segítségével.

    a php-win.exe egy PHP futtatható fájl a PHP parancsfájlok futtatásához a konzol használata nélkül (például PHP alkalmazások a Windows GUI használatával).

    a php.exe egy PHP futtatható fájl a PHP parancsfájlok futtatásához a konzolban (CLI).

    php5apache2_2.dll - Apache 2.2.X modul.

    php5apache2_2_filter.dll - Apache 2.2.X szűrő.

Php.ini fájl módosítása

Miután kibontotta a php csomag tartalmát, hozzon létre egy php.ini-production másolatot a php.ini nevű fájlból ugyanabban a mappában. Szükség esetén a php.ini tetszőleges más helyre is elhelyezhető, de ehhez további konfigurációra lesz szükség, amelyet a PHP Konfiguráció szakasz tartalmaz.

A php.ini fájl tartalmazza a PHP futtatására vonatkozó szabályokat és utasításokat a futtatási környezettel való munkához. Az alábbiakban bemutatunk néhány php.ini-beállítást, amelyek javíthatják a PHP teljesítményét a Windows rendszeren. Néhány közülük választható. Számos más irányelv is hasznos lehet a környezetében - további információkért lásd a php.ini irányelvek listáját.

Kötelező irányelvek:

    kiterjesztés_dir \u003d <путь к директории модулей> - extension_dir adja meg a könyvtárat, ahol a PHP modulok találhatók. Az útvonal lehet abszolút (például "C: \\ PHP \\ ext") vagy relatív (például ". \\ Ext"). A php.ini fájlban használt moduloknak a kiterjesztés_könyvtárban kell lenniük.

    kiterjesztés \u003d xxxxx.dll - Minden beépülő modulhoz meg kell adni a "extension \u003d" irányelvet. Az irányelvvel jelölt extension_dir modulok a PHP indításakor töltődnek be.

    log_errors \u003d Tovább - A PHP hibanaplózási mechanizmussal rendelkezik, amellyel hibákat menthet fájlba, vagy szolgáltatásba (pl. Syslog) küldheti el. A mechanizmus a error_log irányelv értékét is felhasználja. Amikor a PHP-t az IIS hajtja végre, a log_errors-t engedélyezni kell a helyes error_log paranccsal.

    error_log \u003d <пусть к файлу лога ошибок> - error_log szükséges a fájl abszolút vagy relatív elérési útjának jelzéséhez, ahova a PHP hibákat naplózza. Ennek a fájlnak írhatónak kell lennie a webszervernek. A fájl leggyakoribb helyei a különféle ideiglenes TEMP könyvtárak, például "C: \\ inetpub \\ temp \\ php-errors.log".

    cgi.force_redirect \u003d 0 - Ezt az irányelvet az IIS alapján kell végrehajtani. Ez egy könyvtárvédő mechanizmus, amelyet sok más webszerver igényel. Az IIS alatt történő engedélyezése azonban PHP-alaphibákat okoz a Windows rendszeren.

    cgi.fix_pathinfo \u003d 1 - Támogatást nyújt a PATH_INFO számára a CGI specifikáció szerint. Az IIS FastCGI ezt a beállítást használja.

    fastcgi.impersonate \u003d 1 - A FastCGI az IIS alatt támogatja a hívó kliens biztonsági tokenjeinek azonosítását. Ez lehetővé teszi az IIS számára, hogy meghatározza azt a biztonsági kontextust, amely alatt a kérés készül.

    fastcgi.logging \u003d 0 - A FastCGI naplózást le kell tiltani az IIS-ben. Ha a rögzítés engedélyezve van, akkor a FastCGI bármely osztály összes üzenetét hibaként ismeri fel, ami az IIS-hez HTTP 500 kivételt fog okozni.

Fakultatív irányelvek

    max_ végrehajtási idő \u003d ## - Ez az irányelv meghatározza a PHP szkriptek maximális végrehajtási idejét. Az alapértelmezett érték 30 másodperc. Növelje ezt az értéket, ha a PHP-alkalmazásának hosszabb ideig kell futnia.

    memória_korlát \u003d ### M - A PHP folyamat számára rendelkezésre álló memória mennyisége MB-ban. Az alapértelmezett érték 128, ami elegendő a legtöbb PHP alkalmazáshoz. Egyes összetett alkalmazások több memóriát igényelhetnek.

    display_errors \u003d Ki - Az irányelv meghatározza, mely hibákat kell visszaküldeni a webszerverre a további naplózáshoz. Ha "Be" értékre van állítva, akkor a PHP mindenféle hibát jelent, amelyet a error_reporting irányelv felsorol. Biztonsági okokból javasoljuk, hogy ezt állítsa "Ki" -re a termelési kiszolgálókon, hogy megakadályozza a hibakimenet továbbítását a végfelhasználónak, mivel ezek olyan információkat tartalmazhatnak, amelyek veszélyeztethetik az alkalmazás biztonságát.

    open_basedir \u003d <пути к директориям, разделенные точкой с запятой> például openbasedir \u003d "C: \\ inetpub \\ wwwroot; C: \\ inetpub \\ temp". Ez az irányelv meghatározza azoknak a könyvtáraknak az elérési útját, amelyekben a fájlrendszerrel folytatott PHP-műveletek megengedettek. A megadott útvonalakon kívüli fájlokkal és könyvtárakkal végzett bármilyen művelet hibát eredményez. Ez az irányelv különösen akkor hasznos, ha megakadályozza a telepített PHP-hez való hozzáférést megosztott tárhely-környezetben, hogy megakadályozza a PHP-parancsfájlok hozzáférését a webhely gyökérkönyvtárán kívüli fájlokhoz.

    upload_max_filesize \u003d ### M és post_max_size \u003d ### M - A feltöltött fájl és az elküldött adatok maximálisan megengedett mérete. Növelni kell ezen irányelvek értékeit, ha a PHP-alkalmazásoknak nagy letölthető fájlokat, például képeket vagy videofájlokat kell kezelniük.

Miután telepítette a PHP-t a rendszerére, a következő lépés egy webszerver kiválasztása, majd a PHP-vel való működésre történő konfigurálása. Válasszon egy adott webkiszolgálót a cikk tartalomjegyzékében.

Microsoft IIS 5.1 és IIS 6.0

Ez a szakasz utasításokat tartalmaz az Internet Information Services (IIS) 5.1 és IIS 6.0 kézi beállításáról a PHP-vel való együttműködésre Microsoft Windows XP és Windows Server 2003 rendszeren. Az IIS 7.0 és újabb verzióinak Windows Vista, Windows Server 2008, Windows rendszeren történő beállítására vonatkozó utasítások A 7 és a Windows Server 2008 R2 a Microsoft IIS 7.0 és újabb verzióira vonatkozik.

Az IIS beállítása a PHP kérések feldolgozására

Töltse le és telepítse a PHP-t a kézi telepítési lépésekben leírt utasításoknak megfelelően

Megjegyzés:

Az IIS használatakor a PHP nem szálbiztos felépítése ajánlott. A nem szálkás biztonságú verziók a

Konfigurálja a CGI- és FastCGI-specifikus beállításokat a php.ini fájlban az alábbiak szerint:

2. példa CGI és FastCGI beállítások a php.ini fájlban

A FastCGI támogatás engedélyezése az IIS-ben

Az IIS telepítésekor a FastCGI modul alapértelmezés szerint le van tiltva. Az engedélyezés módszerei a használt Windows verziótól függően eltérnek.

A FastCGI támogatás engedélyezéséhez a Windows Vista SP1 és Windows 7 rendszeren:

    A "Start" menüben válassza a "Futtatás" lehetőséget, a megjelenő ablakban írja be a billentyűzetről az "optionalfeatures.exe" fájlt, majd kattintson az "Ok" gombra;

    A megnyíló "Windows-összetevők" ablakban nyissa meg az "Internet Information Services", "Internet Services", "Application Development Components" mappát, és jelölje be a "CGI" melletti négyzetet;

    Kattintson az OK gombra, és várja meg, amíg a telepítési folyamat befejeződik.


A FastCGI támogatás engedélyezése a Windows Server 2008 és a Windows Server 2008 R2 rendszeren:

    Windows rendszerben nyissa meg a Start menüt, válassza a "Futtatás:" parancsot, írja be a "CompMgmtLauncher" szót a billentyűzetről, majd kattintson az "Ok" gombra;

    Ha a "Webkiszolgáló (IIS)" szerepkör nem szerepel a "Szerepek" lapon, adja hozzá a "Szerepkörök hozzáadása" kiválasztásával;

    Ha a "Web Server (IIS)" szerepkör jelen van, válassza a "Szerepkör kiválasztása" lehetőséget, és jelölje be az "Alkalmazásfejlesztési összetevők" csoportban a "CGI" melletti négyzetet;


Az IIS beállítása a PHP kérések kezelésére

Töltse le és telepítse a PHP-t a telepítési leírás utasításainak megfelelően

Megjegyzés:

Módosítsa a CGI és a FastCGI beállításait a php.ini fájlban az alábbiak szerint:

8. példa CGI és FastCGI beállítások a php.ini fájlban

fastcgi.impersonate \u003d 1 fastcgi.logging \u003d 0 cgi.fix_pathinfo \u003d 1 cgi.force_redirect \u003d 0

Állítson be egy IIS kezelőt a PHP-hez az IIS kezelőfelület vagy a parancssor segítségével.

Az IIS kezelőfelület használata PHP kezelő létrehozásához

A következő lépések lehetővé teszik az IIS-kezelő létrehozását a PHP számára az IIS-kezelőfelületen:



A parancssor használatával hozzon létre egy PHP-kezelő leképezést

Az alábbi parancsokkal hozzon létre egy IIS FastCGI folyamatkészletet, amely a php-cgi.exe futtatható fájlt fogja használni a PHP-kérésekhez. Cserélje ki a fullPath paraméter értékét a php-cgi.exe fájl abszolút elérési útjára.

9. példa IIS FastCGI folyamatkészlet létrehozása

% windir% \\ system32 \\ inetsrv \\ appcmd set config /section:system.webServer/fastCGI ^ / +

Az alábbiakban látható az IIS beállítása a PHP-kérések parancssorból történő kezelésére. Cserélje ki a scriptProcessor paraméter értékét a php-cgi.exe fájl abszolút elérési útjára.

10. példa PHP kérelemkezelő leképezés létrehozása

% windir% \\ system32 \\ inetsrv \\ appcmd set config /section:system.webServer/handlers ^ / +

Ez a parancs létrehozza az IIS * .php fájljainak leképezését, amelyet a FastCGI modul generál és dolgoz fel.

Megjegyzés:

Ez a lépés befejezi a telepítést és a konfigurációt. Az alábbi utasítások nem kötelezőek, de nagyon ajánlottak az optimális PHP-funkcionalitás és az IIS-teljesítmény eléréséhez.

Fájlrendszer nézet és hozzáférés

IIS használatakor ajánlott engedélyezni a FastCGI nézetet a PHP-ben. Ezt a php.ini fájlban található fastcgi.impersonate irányelv vezérli. Ha a megszemélyesítés engedélyezve van, a PHP az összes fájlrendszeri műveletet elvégzi az IIS-hitelesítés során megadott fiók alatt. Ez biztosítja, hogy az összes IIS-hely közös PHP-folyamatával az említett helyek PHP-szkriptjei nem férhetnek hozzá egymás fájljaihoz, amíg az IIS minden webhelyhez különböző fiókokat használ.

Például az IIS 7 alapértelmezett beállításaiban az anonim hitelesítés engedélyezve van a szokásos IUSR-felhasználó alatt. Ez azt jelenti, hogy az IIS engedélyének megadásával a PHP parancsfájl végrehajtásához meg kell adnia az IUSR fiók olvasási engedélyét is ehhez a szkripthez. Ha egy PHP alkalmazásnak írnia kell néhány fájlba vagy mappába, akkor az IUSR fióknak meg kell adni az írási engedélyeket.

A következő parancsok használatával eldöntheti, hogy mely felhasználót használja az IIS 7 hitelesítéséhez. Cserélje le az "Alapértelmezett webhely" szót annak az IIS-webhelynek a nevével, amelyikkel dolgozik. A kimenetben az XML konfigurációban tekintse meg a userName attribútumot.

11. példa Az IIS által anonim hitelesítéshez használt fiók meghatározása

% windir% \\ system32 \\ inetsrv \\ appcmd.exe lista config "Alapértelmezett webhely" ^ / szakasz: anonymousAuthentication

Megjegyzés:

Ha a userName attribútum hiányzik az anonymousAuthentication elemből, vagy az üres karaktersorozatra van állítva, akkor az alkalmazáskészlet-azonosság névtelen lesz a webhelyen.

A fájlok vagy mappák hozzáférési beállításainak módosításához használja a Windows Intéző felhasználói felületét vagy az icacls parancsot.

12. példa Fájlengedélyek konfigurálása

icacls C: \\ inetpub \\ wwwroot \\ upload / grant IUSR: (OI) (CI) (M)

Az index.php beállítása alapértelmezett dokumentumként az IIS-ben

Alapértelmezés szerint az IIS nem állítja be az alapértelmezett dokumentum nevet a HTTP kérések kezelésére. A PHP-alkalmazásokban az index.php dokumentumot általában alapértelmezés szerint használják. Az index.php hozzáadásához az alapértelmezett IIS-dokumentumokhoz használja a következő parancsot:

13. példa Az index.php beállítása alapértelmezett dokumentumként az IIS-ben

% windir% \\ system32 \\ inetsrv \\ appcmd.exe set config ^ -section: system.webServer / defaultDocument / + "files". ^ / lekötni: apphost

FastCGI és PHP konfiguráció folyamat újrateremtéssel

Az IIS FastCGI beállításainak konfigurálása a PHP folyamatok újrahasznosításához parancsok segítségével az alábbiakban látható. A FastCGI instanceMaxRequests beállítás beállítja a kérelmek maximális számát, amelyeket egyetlen php-cgi.exe folyamat képes kezelni, amíg az IIS elkezdi letiltani őket. PHP környezeti változó A PHP_FCGI_MAX_REQUESTS beállítja, hogy egy php-cgi.exe folyamat hány kérést fog feldolgozni, amíg meg nem kezdi őket törölni. Természetesen a FastCGI instanceMaxRequests számára beállított érték kisebb vagy egyenlő, mint a PHP_FCGI_MAX_REQUESTS.

14. példa A FastCGI és a PHP újrateremtésének konfigurálása

% windir% \\ system32 \\ inetsrv \\ appcmd.exe set config szakasz: system.webServer / fastCgi ^ /.instanceMaxRequests:10000% windir% \\ system32 \\ inetsrv \\ appcmd.exe set config szakasz: system.webServer / fastCgi ^ / + ". environmentVariables. ^"

A FastCGI időtúllépés beállítása

A FastCGI timeout paraméter növelése akkor történik, ha már régóta fut a PHP parancsfájl. Két paraméter vezérli az időtúllépést, ezek a következők: activityTimeout és requestTimeout. Az időkorlát beállításainak módosításához használja az alábbi parancsokat. Természetesen le kell cserélnie a fullPath paraméter értékét a php-cgi.exe fájl teljes elérési útjára.

15. példa A FastCGI időkorlát beállításainak konfigurálása

% windir% \\ system32 \\ inetsrv \\ appcmd.exe set config szekció: system.webServer / fastCgi ^ /.activityTimeout:"90 "/ comm: apphost% windir% \\ system32 \\ inetsrv \\ appcmd.exe set config szakasz: rendszer .webServer / fastCgi ^ /.requestTimeout:"90 "/ lead: apphost

A php.ini fájl helyének megváltoztatása

Kétféleképpen lehet a PHP-t úgy konfigurálni, hogy az Windows Apache 1.3.x-sel működjön. Az első a CGI bináris (php.exe a PHP 4 és a php-cgi.exe a PHP 5) használata, a második az Apache modul DLL használata. Mindkét esetben meg kell szerkesztenie a httpd.conf fájlt az Apache beállításához a PHP-vel való együttműködéshez és a kiszolgáló újraindításához.

Jelenleg az SAPI modul stabilabb a Windows alatt, ezért javasoljuk, hogy a CGI helyett használja, mivel átláthatóbb és biztonságosabb.

Noha számos lehetőség áll rendelkezésre a PHP konfigurálásához az Apache számára, a kezdők számára meglehetősen egyszerűek. További konfigurációs utasításokat az Apache dokumentációjában talál.

Ne felejtse el újraindítani a szervert a konfigurációs fájl módosítása után. Például a parancsokkal NET STOP MEGKÖZELÍTÉS és NET START MEGKÖZELÍTÉSha az Apache Windows szolgáltatásként fut, vagy rendszeres parancsikonokat használ.

Megjegyzés:

Telepítse a PHP-t Apache modulként

A következő sorokat kell hozzáadnia az Apache httpd.conf fájlhoz:

17. példa: PHP Apache 1.3.x modulként

Ez feltételezi, hogy a PHP a c: \\ php fájlba van telepítve. Változtassa meg az utat, ha nem az.

# Hozzáadás a LoadModule szakasz végéhez # Ne felejtse el lemásolni ezt a fájlt a sapi könyvtárból! LoadModule php4_module "C: /php/php4apache.dll" # Hozzáadás az AddModule szakasz végéhez AddModule mod_php4.c

# Hozzáadás a LoadModule szakasz végéhez LoadModule php5_module "C: /php/php5apache.dll" # Hozzáadás az AddModule szakasz végéhez AddModule mod_php5.c

Mindkét verzió esetében:

# Adja hozzá ezt a sort a feltételes zárójel AddType alkalmazás / x-httpd-php .php # A szintaxisban kiemelt .phps fájlokhoz add hozzá az AddType alkalmazást / x-httpd-php-source .phps

Telepítés CGI bináris fájlként

Ha a PHP a C: \\ php \\ fájlba van kicsomagolva, a Kézi telepítési lépések részben leírtak szerint, a következő sorokat kell hozzáadnia az Apache konfigurációs fájljához:

18. példa: PHP és Apache 1.3.x CGI-ként

Vegye figyelembe, hogy a fenti lista második sora már a httpd.conf fájlban található, de kommentálva van. Ne felejtsd el kicserélni a c: / php / parancsot az igazi PHP elérési útvonaladdal.

Figyelem

"CGI Security"

A PHP CGI-ként történő telepítésekor nincs olyan kényelmes lehetőség a szintaxis kiemelésére a PHP forrásokban, mint modulként történő telepítéskor. Ha használni szeretné, akkor a funkciót kell használnia highlight_file ()... Ehhez egyszerűen hozzon létre egy PHP szkriptet a következő kóddal: .

Apache 2.x Microsoft Windows rendszeren

Ez a szakasz útmutatást nyújt a PHP for Apache 2.x Microsoft Windows rendszerekre történő telepítéséhez.

Megjegyzés: Apache 2.2 támogatás

Az Apache 2.2 felhasználóknak figyelembe kell venniük, hogy az Apache 2.2 DLL nevet php5apache2_2.dll, nem php5apache2.dll, és csak a PHP 5.2.0 és újabb verziókhoz érhető el.

Erősen javasoljuk, hogy olvassa el az »Apache dokumentációját, hogy alaposan megismerje az Apache 2.x szervert. Mielőtt elolvassa ezt a súgót, olvassa el az »Apache 2.x Windows ajánlásait is.

Az Apache 2.x-et a Windows kiszolgálóverzióinak futtatására tervezték, például Windows NT 4.0, Windows 2000, Windows XP vagy Windows 7. Bár az Apache 2.x használható Windows 9x rendszeren is, ezeket a platformokat nem támogatják teljes mértékben, és egyes funkciók nem fognak működni jobb. A helyzet orvoslását nem tervezik.

Töltse le a legújabb verziót »Apache 2.x és a megfelelő PHP verziót. Kövesse a Lépésről lépésre telepítési útmutatót, és térjen vissza a PHP és az Apache integrálásának folytatásához.

Háromféleképpen telepíthető a PHP for Apache a Windows rendszerre. Futtathatja a PHP-t kezelőként, például CGI-ként, vagy a FastCGI alatt.

Megjegyzés: Ne feledje, hogy az Apache konfigurációs fájlokban a Windows elérési útjának megadásakor az összes visszavágást (például c: \\ directory \\ file.ext) át kell változtatni, hogy perjelek legyenek: c: /directory/file.ext. A könyvtárakkal rendelkező utakra szükség lehet egy perjelre is.

Telepítse a PHP-t kezelőként az Apache alatt

Az Apache 2.x PHP moduljának betöltéséhez a következő sorokat kell hozzáadnia az Apache konfigurációs fájljához: httpd.conf:

19. példa: PHP Apache 2.x kezelőként

# LoadModule php5_module "c: /php/php5apache2.dll" AddHandler alkalmazás / x-httpd-php .php # a php.ini elérési útjának konfigurálása PHPIniDir "C: / php"

Megjegyzés: Ne felejtse el a fenti példa C: / php / helyett a PHP könyvtárba beilleszteni a tényleges elérési utat. Győződjön meg arról, hogy a php5apache2.dll vagy a php5apache2_2.dll fájlt használják a LoadModule irányelvben, és győződjön meg arról, hogy a megadott fájl valóban az irányelvben megadott útvonalon van-e.

A fenti konfiguráció lehetővé teszi, hogy a PHP elemezzen minden olyan fájlt, amelynek .php kiterjesztése van, még akkor is, ha vannak más kiterjesztések. Például az example.php.txt nevű fájlt a PHP motor futtatja. Annak biztosítására, hogy csak ezt fájlolja legyen kiterjesztésük A .php elindul, használja a következő konfigurációt:

SetHandler alkalmazás / x-httpd-php

PHP futtatása CGI-ként

A CGI Apache alatt történő futtatásának teljesebb megértéséhez olvassa el az »Apache CGI dokumentációját.

A PHP CGI-ként történő futtatásához el kell helyeznie a php-cgi fájlokat egy CGI könyvtárnak kijelölt könyvtárba a ScriptAlilas irányelv segítségével.

Ezt követően hozzá kell adnia a # sort! PHP fájlokban, amelyek a PHP futtatható fájl helyére mutatnak.

20. példa: PHP CGI-ként az Apache 2.x alatt

#! C: /php/php.exe

Figyelem

A CGI beállítás használatával a kiszolgáló számos lehetséges sebezhetőségnek van kitéve. Kérjük, olvassa el a "CGI biztonság" részt, hogy megtudja, hogyan védheti meg magát az ilyen támadásoktól.

PHP futtatása FastCGI alatt

A PHP futtatása FastCGI alatt számos előnnyel jár, mint CGI-ként futtatni. A telepítés nagyon egyszerű:

NSAPI beállítása a Sun, az iPlanet és a Netscape szervereken

A PHP NSAPI használatával történő telepítéséhez tegye a következőket:

  • Másolja a php4ts.dll fájlt a rendszergyökérre (abba a könyvtárba, ahová a Windows rendszert telepítette)
  • Készítsen fájl társítást a parancssorból. Írja be a következő két sort:

    assoc .php \u003d PHPScript ftype PHPScript \u003d c: \\ php \\ php.exe% 1% *

  • Hozzon létre egy új mime típust a Netscape Enterprise Administration Serverben (Kategória: típus, Tartalom-típus: magnus-internal / x-httpd-php, Fájl utótag: php).
  • Szerkessze a magnus.conf (kiszolgálóknál\u003e \u003d 6) vagy az obj.conf (kiszolgálókhoz< 6) and add the following: You should place the lines after mime típusok init.

    Init fn \u003d "load-module" funcs \u003d "php4_init, php4_execute, php4_auth_trans" shlib \u003d "c: /php/sapi/php4nsapi.dll" Init fn \u003d "php4_init" LateInit \u003d "igen" errorString \u003d "Nem sikerült inicializálni a PHP-t! "

    (PHP\u003e \u003d 4.3.3) A php_ini A paraméter nem kötelező, de ezzel a php.ini fájlt elhelyezheti a webszerver konfigurációs könyvtárában.

    Állítsa be az alapértelmezett objektumot az obj.conf fájlban (virtuális kiszolgáló osztályokhoz a vserver.obj.conf fájlban): section, place this line necessarily after all "ObjectType" and before all "AddLog" lines:

    Service fn="php4_execute" type="magnus-internal/x-httpd-php"

    (PHP >= 4.3.3) As additional parameters you can add some special php.ini -values, for example you can set a docroot="/path/to/docroot" specific to the context php4_execute is called. For boolean ini-keys please use 0/1 as value, not "On","Off",... (this will not work correctly), e.g. zlib.output_compression=1 instead of zlib.output_compression="On"

    This is only needed if you want to configure a directory that only consists of PHP scripts (same like a cgi-bin directory):

    ObjectType fn="force-type" type="magnus-internal/x-httpd-php" Service fn=php4_execute

    Ezután konfigurálhat egy könyvtárat az adminisztrációs kiszolgálón, és hozzárendelheti a stílust x-httpd-php... Az összes fájl PHP-ként fog végrehajtódni. Ez jó elrejteni a PHP használatát a fájlok átnevezésével .html fájlra.

  • Indítsa újra a webszolgáltatást, és alkalmazza a módosításokat
  • Tegye meg minden webkiszolgáló-példánynál, amelyet a PHP futtatni szeretne
  • Megjegyzés:

    A PHP által használt vereméret a webszerver konfigurációjától függ. Ha nagyon nagy PHP szkriptekkel ütközik össze, javasoljuk, hogy emelje fel az Admin Server szerverrel (a "MAGNUS EDITOR" részben).

    CGI környezet és ajánlott módosítások a php.ini fájlban

    A PHP parancsfájlok írásakor fontos, hogy a Sun JSWS / Sun ONE WS / iPlanet / Netscape egy többszálas webszerver. Emiatt az összes kérés ugyanabban a folyamattérben fut (maga a webkiszolgáló területe), és ennek a területnek csak egy környezete van. Ha olyan CGI változókat szeretne kapni, mint a PATH_INFO, HTTP_HOST stb. ez nem a helyes módja annak, hogy ezt a régi PHP módon kipróbálja getenv () vagy hasonló módon (regisztrálja a globálist a környezethez, $ _ENV). Csak érvényes CGI változók nélkül kapná meg a futó webszerver környezetét!

    Megjegyzés:

    Miért vannak (érvénytelen) CGI-változók a környezetben?

    Válasz: Ennek oka az, hogy a webkiszolgáló folyamatot az admin szerverről indította, amely a webkiszolgáló indító parancsfájlját futtatja. Ezt CGI szkriptként (CGI szkriptként az adminisztrációs kiszolgálón belül) kívánta elindítani. Ezért van az elindított webszerver környezetében néhány CGI környezeti változó. Ezt úgy tesztelheti, hogy a webkiszolgálót nem az adminisztrációs szerverről indítja. Használja a parancssort root felhasználóként, és indítsa el kézzel - látni fogja, hogy nincsenek CGI-szerű környezeti változók.

    Egyszerűen változtassa meg a szkripteket, hogy a CGI-változókat a PHP 4.x-hez a megfelelő módon kapja meg a superglobal $ _SERVER segítségével. Ha régebbi szkriptjei vannak, amelyek a $ HTTP_HOST-ot stb. Használják, akkor kapcsolja be register_globals a php.ini fájlban, és változtassa meg a változó sorrendjét is (fontos: távolítsa el "E" tőle, mert itt nincs szüksége a környezetre):

    variables_order \u003d "GPCS" register_globals \u003d Be

    Speciális felhasználás hibaoldalakhoz vagy saját készítésű könyvtárlistákhoz (PHP\u003e \u003d 4.3.3)

    A PHP segítségével létrehozhatja a hibalehetőségeket "404 nem található" vagy hasonló. Adja hozzá a következő sort az obj.conf objektumhoz minden felülírni kívánt hibaoldalhoz:

    Hiba fn \u003d "php4_execute" code \u003d XXX script \u003d "/ path / to / script.php"

    Ahol XXX a HTTP hibakód. Kérjük, töröljön minden más elemet Hiba irányelveket, amelyek megzavarhatják az Önét. Ha az összes létező hibához szeretne oldalt elhelyezni, hagyja el a kód paraméter ki. A szkript megkapja a HTTP állapotkódot a $ _SERVER ["ERROR_TYPE"] használatával.

    Egy másik lehetőség saját készítésű könyvtárlisták létrehozása. Csak hozzon létre egy PHP parancsfájlt, amely egy könyvtárlistát jelenít meg, és cserélje ki a megfelelő alapértelmezett szolgáltatási sort type \u003d "magnus-internal / directory" az obj.conf fájlban a következőkkel:

    Szolgáltatás fn \u003d "php4_execute" type \u003d "magnus-internal / directory" script \u003d "/ path / to / script.php"

    Mind a hiba, mind a könyvtárlista oldalak esetében az eredeti URI és a lefordított URI a $ _SERVER ["PATH_INFO"] és a $ _SERVER ["PATH_TRANSLATED"] változókban található.

    Ez a lista leírja az ISAPI modul telepítését a Sambar szerverrel való együttműködésre Windows alatt.

      Keressen egy mappings.ini nevű fájlt (a konfigurációs mappában) a Sambar telepítési könyvtárában.

      Nyissa meg a mappings.ini fájlt, és adja hozzá a következő sort :

      22. példa ISAPI konfiguráció a Sambarhoz

      # a PHP 4-hez * .php \u003d c: \\ php \\ php4isapi.dll # a PHP 5-hez * .php \u003d c: \\ php \\ php5isapi.dll

      (Ha a PHP a c: \\ php fájlba van telepítve.)

      Indítsa újra a Sambart, hogy a változtatások életbe lépjenek.

    Megjegyzés:

    Ha a PHP használatával szeretné kommunikálni a hálózat más számítógépein található erőforrásokkal, akkor módosítania kell a Sambar szerver szolgáltatás által használt fiókot. Alapértelmezés szerint ez a LocalSystem, és a távoli erőforrások nem lesznek elérhetők. A fiók szerkeszthető a Windows Vezérlőpult Felügyeleti segédprogramjának Szolgáltatások opciójával.

    Xitami a Microsoft Windows rendszeren

    Ez a szakasz a »Xitami-ra vonatkozó megjegyzéseket és trükköket tartalmazza a Windows platformon.

    Ez az ellenőrzőlista leírja, hogyan kell telepíteni a PHP CGI könyvtárat, hogy az működjön a Xitamival a Windows rendszeren.

    Megjegyzés: Fontos a CGI felhasználók számára

    PHP modulok telepítése Windows rendszerre

    Miután telepítette a PHP-t és a webszervert Windows operációs rendszerre, előfordulhat, hogy néhány funkciót telepítenie kell a funkcionalitás növeléséhez. A php.ini fájl módosításával kiválaszthatja, hogy mely modulok kerülnek betöltésre a PHP indításakor. A funkció segítségével dinamikusan is betölthet modulokat a parancsfájlokba

    Folytatjuk a helyi WAMP szerver felépítését a helyi gépen (személyi számítógép). Ebben a cikkben telepítjük a PHP tolmácsot, más néven a [P] betűt a WAMP rövidítésbe.

    Hadd emlékeztessem önöket, hogy az Apache + MySQL + PHP összeállítására van szükség ahhoz, hogy helyi számítógépként létrehozzunk egy webhelyet a számítógépünkön. A feladat sokak számára érdekes, és gyakran projekteken dolgozik. Az AMP összerakása összetett feladat, amely a számítógép beállításához és annak állandó egészségéhez kapcsolódik. Sokak számára ez könnyebb, mint a távoli szerverekkel való munka, mert a számítógépes segítség mindig kéznél van. Ezenkívül a helyi szerverrel való együttműködés ingyenes.

    Korábbi cikkekben elmondtam, hogyan, hogyan. A helyi szervert Windows 7 alatt építjük fel. Itt az ideje a PHP telepítésének.

    Telepítjük a PHP-t a rendszer meghajtón létrehozott php mappába: C: \\ Program Files \\ PHP.

    Hol lehet beszerezni a PHP-t

    A php legújabb verzióját csak a hivatalos weboldalon vesszük, itt található a link: https://php.net/downloads.php... egy másik: https://windows.php.net/download#php-7.0. Nem a php7.0 legújabb verzióját vesszük, vegyük a nem túl "forradalmi" PHP 5.6-ot (5.6.20). Összeszerelést készítek a Windows 7 32 bites architektúrájához, beépített Windows telepítővel.

    A PHP telepítése a telepítővel (MSI)

    Legfrissebb PHP telepítővel és ami a legfontosabb az Apache 2.2 modullal. ez a php-5.3.10-nts-Win32-VC9-x86.msi. Ide vesszük: https://windows.php.net/downloads/releases/archives/ és tedd.

    Jegyzet: Az Apache 2.2 modullal választunk, mivel a WAMP-ot az Apache 2.2-re építjük, amelyet már telepítettünk.

    A PHP telepítése a telepítővel (MSI) egyszerű, több ablakban:

    1. Futtassa a letöltött php-5.3.10-nts-Win32-VC9-x86.msi fájlt.

    A php-5.3.10 telepítés első ablaka

    2. Ismerkedjen meg a licenccel és egyetért azzal, lépjen tovább a "Tovább" gombra kattintva.

    3. Ezen az oldalon állítsa be azt a mappát, ahová a PHP-t telepíti. Legyen könyvtár:

    4. A következő oldalon válassza ki a használni kívánt webszervert. Közgyűlésünkben ez az Apache2.

    5. Ezen az oldalon ki kell választania azokat a PHP modulokat, amelyekre szükségünk lesz. Biztonsági okokból mindent kiválasztunk.

    6. Kattintson az "Install" gombra


    Kattintson a Telepítés gombra a php-5.3.10 telepítéséhez
    Látjuk a php-5.3.10 telepítési ablak folyamatát

    Összes! A PHP telepítése a helyi gépen befejeződött.

    A PHP a Hypertext Processor (Hypertext Processor) rövidítése. Ez egy általános célú nyílt forráskódú szkriptnyelv, amelyet széles körben használnak a webfejlesztésben, mivel képes beágyazni a HTML-be. Előre megírt programok írására szolgál, amelyeket később a feladatok automatizálására használnak. A PHP szkripteket általában Linux, Unix, Windows, Mac OS és más operációs rendszereken használják. Amikor a PHP-t használja a webfejlesztésben, kiválaszthatja a webszervert és a fő operációs rendszert.

    Ez egy lépésenkénti eljárás a PHP 5.6 verziók Ubuntu 18 telepítéséhez. A cikkben említett parancsokat és eljárásokat az Ubuntu 18.06 LTS rendszeren hajtják végre.

    Ez a cikk az Ubuntu Terminal parancssort használja. A Terminal alkalmazást a rendszermenü vagy a Ctrl + Alt + t billentyűparancs segítségével nyithatja meg.

    A PHP letölthető a hivatalos webhelyről: http://php.net/releases/ forrás formájában és összeállítható. Leírjuk a PHP telepítését az Ondrej PPA adattáron keresztül, mint kész csomagot.

    Telepítés

    A PHP 5.6 telepítéséhez hozzá kell adnia a rendszerhez Személyes csomag archívum (PPA) - olyan tároló, amely nem hivatalos csomagokat tartalmaz a fejlesztőktől, akik saját csomagjaikat szeretnék közzétenni.

    A PPA használatához telepítenie kell a következő szoftvert:

    Sudo apt-get install szoftver-tulajdonságok-közös

    Ezt követően hozzáadhatja az ondrej / php adattárat.

    Sudo add-apt-repository ppa: ondrej / php

    Ez a tár a pillanatnyi összes PHP verziót tartalmazza.

    Az Ondrej adattár hozzáadása után frissítenie kell a rendszerben lévő tárolók indexét. Erre a legújabb elérhető szoftververzió telepítéséhez van szükség. Írja be a következő parancsot:

    sudo apt-get frissítés


    Közvetlen link: php-5.3.10-Win32-VC9-x86.zip
    Ezzel egyidejűleg töltse le azonnal a dokumentációt orosz nyelven .chm formátumban, szüksége lesz rá, amikor tanul és dolgozik: php_enhanced_ru.chm

    Csomagolja ki az archívumot a kívánt könyvtárba (kezdetben "C: \\ php" javasolt). Nyissa meg az ajánlott beállításokat tartalmazó konfigurációs fájlt - "php.ini-development" (a terjesztőkészlet gyökerében található), nevezze át php.ini névre, és hajtsa végre a következő módosításokat.

    Php.ini revízió:

    1. Keresse meg a sort:
      post_max_size \u003d 8M
      Növelje a POST módszerrel elfogadott adatok maximális méretét 16 MB-ra a következőre változtatva:
      post_max_size \u003d 16M
    2. Keresse meg a sort:
      ; include_path \u003d ".; c: \\ php \\ tartalmazza"
      Kommentelje, ha eltávolítja a pontosvesszőt a vonal előtt.
      (Figyelmeztető kivétel! Visszajelzés az útvonal megadásakor):
      include_path \u003d ".; c: \\ php \\ tartalmazza"
      Hozzon létre egy üres könyvtárat: "C: \\ php \\ include" a mellékelt osztályok tárolásához.
    3. Keresse meg a sort:
      kiterjesztés_dir \u003d "./"
      Állítsa be ennek az irányelvnek az értékét a kiterjesztésű mappa elérési útjához:
      extension_dir \u003d "C: / php / ext"
    4. Keresse meg a sort:
      ; upload_tmp_dir \u003d
      Vegye le a megjegyzést, és adja meg a következő elérési utat az értékben:
      upload_tmp_dir \u003d "C: / php / upload"
      Hozzon létre egy üres "C: \\ php \\ upload" mappát a HTTP-n keresztül feltöltött ideiglenes fájlok tárolásához.
    5. Keresse meg a sort:
      upload_max_filesize \u003d 2M
      Növelje a maximálisan megengedett feltöltési méretet 16 MB-ra:
      upload_max_filesize \u003d 16M
    6. Csatlakoztassa, nem kommentelheti a kiterjesztési könyvtár adatait:
      kiterjesztés \u003d php_bz2.dll
      kiterjesztés \u003d php_curl.dll
      kiterjesztés \u003d php_gd2.dll
      kiterjesztés \u003d php_mbstring.dll
      kiterjesztés \u003d php_mysql.dll
      kiterjesztés \u003d php_mysqli.dll
    7. Keresse meg a sort:
      ; dátum.idõzóna \u003d
      Kommentelje, és állítsa be az értéket a tartózkodási helyének időzónájához (az időzónák listáját lásd a dokumentációban):
      date.timezone \u003d "Európa / Moszkva"
    8. Keresse meg a sort:
      ; session.save_path \u003d "/ tmp"
      Kommentelés nélkül állítsa az irányelv értékét a következő útvonalra:
      session.save_path \u003d "C: / php / tmp"
      Hozzon létre egy üres "C: \\ php \\ tmp" mappát az ideiglenes munkamenetfájlok tárolásához.
    Mentse a módosításokat, és zárja be a php.ini fájlt.

    Ezután hozzá kell adnia a telepített PHP tolmács könyvtárat az operációs rendszer PATH-jához. Ehhez lépjen a "Start" -\u003e "Vezérlőpult" -\u003e "Rendszer" menüpontra, nyissa meg a "Speciális" fület, kattintson a " Környezeti változók "alatt a" Rendszerváltozók "alatt kattintson duplán az" Útvonal "sorra, adja hozzá a" Változó érték "mezőbe, a létezik, a PHP telepített könyvtár elérési útja, például "C: \\ php" (idézőjelek nélkül). Vegye figyelembe, hogy a pontosvessző karakter elválasztja az utakat. Indítsa újra az operációs rendszert, hogy a változtatások életbe lépjenek.

    Példa útvonal karakterláncra:
    % SystemRoot% \\ system32;% SystemRoot%;% SystemRoot% \\ System32 \\ Wbem; C: \\ php; C: \\ Program Files \\ MySQL \\ MySQL Server 5.5 \\ bin

    A PHP tolmács telepítése és konfigurálása befejeződött.

    A csatlakoztatott könyvtárak leírása:

    php_bz2.dll - Ezzel a kiterjesztéssel a PHP képes lesz archívumokat létrehozni és kicsomagolni bzip2 formátumban.

    php_curl.dll - Nagyon fontos és szükséges könyvtár, amely lehetővé teszi a szerverekhez való csatlakozást és azokkal való munkát, rengeteg internetes protokoll használatával.

    php_gd2.dll - Egy másik nélkülözhetetlen könyvtár, amely lehetővé teszi grafikával való munkát. Gondoltad, hogy csak PHP-ben tudsz HTML oldalakat generálni? De nem! A PHP-vel szinte bármit megtehet, beleértve a rajzolást is.

    php_mbstring.dll - A könyvtár tartalmaz funkciókat a többbájtos kódolással való együttműködéshez, amelyek magukban foglalják a keleti nyelvek (japán, kínai, koreai), az Unicode (UTF-8) és mások kódolását.

    php_mysql.dll - A könyvtár neve önmagáért beszél - a MySQL szerverrel kell működnie.

    php_mysqli.dll - Ez a könyvtár az előző kiterjesztése, és további PHP-funkciókat tartalmaz a MySQL szerver 4.1.3-as és újabb verzióival való együttműködéshez.

    Ezeknek a könyvtáraknak elegendőnek kell lenniük a PHP megfelelő működéséhez. Idővel, ha erre szükség van, további könyvtárakat is csatlakoztathat, de nem szabad egyszerre összekapcsolnia azzal a gondolattal, hogy nem fogja elrontani a kását vajjal, ebben az esetben a túl sok csatlakoztatott könyvtár jelentősen lelassíthatja a PHP munkáját.

    «

    Ez a cikk lépésről lépésre ismerteti a PHP telepítését az Apache HTTP Server kiszolgálóval való együttműködésre Windows rendszeren. Ezt az eljárást Windows XP és Vista rendszereken is tesztelték. Feltételezzük, hogy már befejezte az Apache telepítését.

    PHP 5 konfigurációs lépések

    1. Töltse le a PHP 5-et

    Mielőtt elkezdené, töltse le a PHP 5 másolatát innen oldalak letöltése... Töltse le a védett VC6 csomagot a Windows bináris szakaszából - vagyis ne töltse le a telepítőt. Például válassza ki a „ PHP 5.2.5 zip csomag", Ha a jelenlegi verzió 5.2.5.

    Megjegyzés: Felhívjuk figyelmét, hogy az alábbi eljárást nem teszteltem a PHP 5.3-mal, csak az 5.2.5-tel, amely a legújabb verzió volt az írás idején. Elméletileg ugyanazokat a lépéseket kell követni a PHP 7 telepítéséhez.

    2. Telepítse a PHP 5-et

    Hozzon létre egy mappát a merevlemezen lévő PHP-hez. Azt javaslom, hogy c: php, bár használhat más mappanevet és helyet is. Én személy szerint inkább nem használok szóközt tartalmazó neveket.

    Csomagolja ki az összes fájlt a letöltött archívumból ebbe a mappába. Ehhez kattintson duplán a zip fájlra. Ezután húzza az összes fájlt a c: php mappába.

    3. A csomagot frissítők számára: Törölje a régi PHP.INI fájlt a Windows könyvtárból

    Ha régebbi verzióról áll át a PHP 5-re, váltson a Windows könyvtárra ( általában c: windows), és törölje a korábban oda helyezett php.ini fájlokat.

    4. PHP konfiguráció

    Lépjen a c: php mappába, és készítsen másolatot a php.ini által ajánlott fájlról. Nevezze el az új php.ini fájlt. Most rendelkeznie kell egy c: phpphp.in fájlval, amelynek tartalma megegyezik a c: phpphp.ini-ajánlottal.

    Jegyzet. Ha Apache 1-et használ, akkor a php.ini fájlt át kell helyeznie a Windows könyvtárba ( c: ablakok), vagy állítsa be a PATH környezeti változót úgy, hogy tartalmazza a c: php fájlt. Ha nem tudja ezt megtenni, akkor egyszerűen helyezze át a php.ini fájlt a c: Windows mappába. Ezt nem kell tennie, ha Apache 2-et használ, mivel később megadjuk az irányelvet a php.ini fájl helyével az Apache 2 konfigurációs fájlban.

    A PHP telepítése a Windows 7 rendszerre egy szövegszerkesztő használatával ( például a Notepad, amely a „Start” menü „Rendszer” részében található)? nyissa meg a php.ini fájlt. Előfordulhat, hogy a következő módosításokat kell végrehajtania a fájlban:

    a) Rövid nyitott címkéket is tartalmaz

    Keresse meg a következő sort:

    short_open_tag \u003d Ki

    Ha a short_open_tag ki van kapcsolva, akkor a

    Mivel sok harmadik féltől származó PHP szkript használja a

    short_open_tag \u003d Be

    b) Mágikus idézetek

    Az Apache PHP alapértelmezett telepítésekor a bejövő adatok nem kerülnek el automatikusan egy perjel használatával. Ha azt szeretné, hogy a bevitelt például egy hátsó perjel ("") előhívja, például a tárhelybeállítások reprodukálásához, keresse meg a következő sort:

    magic_quotes_gpc \u003d Ki

    és cserélje ki:

    magic_quotes_gpc \u003d Be

    Nem ajánlott ezt megtenni, ha ez a paraméter nincs megadva a tárhelyen. Még akkor is, ha Ki értékre van állítva, akkor is felhasználhatja A PHP addasheshes () függvényt ad hozzáperjelek hozzáadása bizonyos adatokhoz.

    c) Globális változók használata

    Számos régi szkript végrehajtásakor feltételezi, hogy az űrlapon keresztül benyújtott összes adatnak automatikusan ugyanazon a néven van egy PHP változója. Például, ha egy űrlapnak van egy „valami” nevű beviteli mezője, a régi PHP-szkriptek feltételezik, hogy a PHP processzor automatikusan létrehoz egy $ valami nevű változót, amely tartalmazza a mezőn keresztül megadott értéket.

    Ha ilyen szkripteket használ, meg kell találnia a következő sort:

    register_globals \u003d Ki

    és változtassa meg a következőre:

    register_globals \u003d Be

    Figyelem: amikor a PHP-t Windows rendszerre telepíti, csak akkor tegye ezt, ha rendelkezik harmadik féltől származó szkriptekkel, amelyek működéséhez szüksége van rá. Új szkriptek írásakor mindig a legjobb azt feltételezni, hogy a register_globals elem értéke “ Ki«.

    d) Hibakijelzés

    Egy élő webhelyen a szkripthibákat általában naplózni kell, anélkül, hogy megjelennének a PHP hibafájlban. De egy helyi gépen a PHP parancsfájl tesztelése és hibakeresése közben kényelmesebb hibaüzeneteket küldeni, ha azokat közvetlenül a böngésző ablakába észlelik. Így akkor sem hagyja ki a hibákat, ha elfelejti ellenőrizni a hibanaplófájlt.

    Ha azt szeretné, hogy a PHP közvetlenül a böngészőablakban jelenítse meg a hibaüzeneteket, keresse meg a következő sort:

    display_errors \u003d Ki

    és változtassa meg a következőre:

    display_errors \u003d Be

    Ezt a paramétert mindig ki kell kapcsolni egy élő webhelyen.

    e) Munkamenet útja

    Ha a szkript munkameneteket használ, keresse meg a következő sort:

    ; session.save_path \u003d "/ tmp"

    session.save_path adja meg azt a mappát, ahová a PHP munkamenetfájlokat menti. Mivel a / tmp mappa nem létezik a Windows rendszerben, egy másik mappát kell telepítenie. Ennek egyik módja egy c: tmp (nevű) mappa létrehozása. mint korábban hoztuk létre a c: php-t), és adja meg ezt a mappát ehhez a paraméterhez. Ha mégis, akkor változtassa meg ezt a sort az alábbiak szerint:

    session.save_path \u003d "c: tmp"

    Ne feledje, hogy az útvonal megváltoztatása mellett a pontosvessző (";") előtagot is eltávolítottam a karakterláncból.

    Használhatja a számítógép jelenlegi TEMP mappáját is. Vagy hozz létre egy tmp mappát a PHP könyvtáradban, például c: phptmp, és ennek megfelelően állítsd be a konfigurációs fájlt. Számos lehetséges lehetőség van. Ha nem tudja eldönteni, melyiket választja, akkor egyszerűen hozza létre a c: php-t, és tegye, ahogy fentebb mondtam.

    f) SMTP szerver

    A PHP 5 5 telepítésekor, ha a szkript a mail () függvényt használja, és azt szeretné, hogy a függvény sikeresen küldjön levelet a helyi gépre, keresse meg a következő részt:

    ; Csak Win32 esetén. SMTP \u003d localhost smtp_port \u003d 25; Csak Win32 esetén. ; sendmail_from \u003d [e-mail védett]

    Módosítsa az SMTP-kiszolgáló címét és az e-mail fiókját. Például, ha a SMTP-kiszolgáló mail.example.comés az e-mail címet [e-mail védett] , így változtassa meg a kódját:

    SMTP \u003d mail.example.com smtp_port \u003d 25 sendmail_from \u003d [e-mail védett]

    Ne feledje, hogy ezt követően, amikor a parancsfájl megpróbálja használni a mail () függvényt, a sikeres működéshez csatlakoznia kell az internetszolgáltatójához. Ha nem változtatja meg a fenti sorokat, és megpróbálja használni a mail () függvényt a szkriptben, akkor a függvény hibakódot ad vissza, és hibaüzenetet jelenít meg.

    Az Apache beállítása a PHP 5-höz

    Az Apache PHP telepítésének két módja van. Először: állítsd be indításra PHP tolmács Apache modulként. Másodszor állítsa be úgy, hogy bináris CGI-ként futtassa az értelmezőt. Ezek közül csak egyet kell alkalmazni. Válassza ki a modul metódust, ha a PHP Apache modulként is telepítve van a tárhelyre, vagy használja a CGI metódust, ha a tárhelyen van megvalósítva.

    a) A PHP 5 futtatása Apache modulként

    Annak beállításához, hogy az Apache a PHP-t modulként töltse be a PHP-parancsfájlok elemzéséhez, egy ASCII szövegszerkesztővel nyissa meg az Apache konfigurációs fájlt, a httpd.conf fájlt.

    Apache 1.x használata esetén a fájl a mappában található c: Program FilesApache GroupApacheconf... Az Apache 2.0.x felhasználók megtalálhatják a mappában C: Program FilesApache GroupApache2confés az Apache 2.2.x felhasználók a mappában vannak C: Program fájlokApache Software FoundationApache2.2conf... Általában annak a könyvtárnak a conf mappájában található, ahová az Apache telepítve van.

    Keresse meg a fájl szakaszát a LoadModule utasításokkal. A "#" hash szimbólummal előírt nyilatkozatokat kommentáltnak tekintjük.

    Ha Apache 1.x rendszert használ, adja hozzá a következő sort az összes LoadModule utasítás után:

    LoadModule php5_module "c: /php/php5apache.dll"

    Ha Apache 2.0.x verziót használ, adja hozzá a következő sort minden LoadModule utasítás után:

    LoadModule php5_module "c: /php/php5apache2.dll"

    Ha Apache 2.2.x rendszert használ, adja hozzá a következő sort:

    LoadModule php5_module "c: /php/php5apache2_2.dll"

    Ne feledje, hogy ez a PHP telepítési példa a perjel ("/") karaktert használja a hagyományos Windows visszavágás ("") helyett. Ez nem elírás.

    Ha Apache 1.x-et használ, keresse meg az „AddModule” utasítássorozatot, és az összes sor után adja hozzá a következőket.

    AddModule mod_php5.c

    Ezután keresse meg a fájlban az AddType blokkot, és adja hozzá a következő sort az utolsó AddType utasítás után. Ezt meg kell tenni, függetlenül attól, hogy az Apache melyik verzióját használja. Apache 2.2.x esetén meg kell találnia az AddType sorokat a szakaszban ... Vegyen fel egy sort közvetlenül bezárás előtt erre a szakaszra.

    Ha más típusú fájlokra, például a .phtml fájlra van szüksége, vegye fel őket például a listára:

    Az Apache 2 egyik verzióját használóknak meg kell adniuk a PHP ini fájl helyét. Adja hozzá a következő sort a httpd.conf végéhez.

    PHPIniDir "c: / php"

    Ha más könyvtárat használt, akkor a c: / php-t a helyes elérési útra kell cserélnie. Ne felejtse el használni az elővágott perjelet ("/").

    Ha Apache 1-et használ, akkor már elhelyezte a php.ini fájlt a Windows mappájában vagy valahol a PATH-ban. Ezért a PHP-nek egyedül kell megtalálnia.

    A PHP 5 futtatása CGI binárisként

    Ha a PHP 5-et Apache modulként töltötte be, akkor ezt a szakaszt kihagyhatja. Azok számára készült, akik a PHP-t CGI binárisként kívánják futtatni.

    Ennek az eljárása a PHP 7 telepítésekor ugyanaz az Apache 1.x és a 2.x sorozat összes verziója esetében.

    Keresse meg az Apache konfigurációs fájl azon részét, amely a ScriptAlias \u200b\u200bszakaszt tartalmazza. Adja hozzá az alábbi sort közvetlenül a ScriptAlias \u200b\u200bsor után: cgi-bin". Az Apache 2.2.x használata esetén győződjön meg arról, hogy a sor a bezárás előtt van szakaszra .

    jegyzet: ha a PHP-t egy másik helyre telepítette, például c: Program Filesphp, akkor a megfelelő elérési utat kell megadnia a c: / php / (pl. c: Program Filesphp)... Ne felejtsük el, hogy itt egy egyszerű perjelet ("/") használunk a Windows visszavonás ("") helyett.

    ScriptAlias \u200b\u200b/ php / "c: / php /"

    Az Apache-nak konfigurálnia kell a PHP MIME típust. Keresse meg az AddType megjegyzésblokkot, amely elmagyarázza annak használatát, és adja hozzá az alábbi sort. Apache 2.2.x esetén keresse meg az AddType sorokat ... Add hozzá a vonalat közvetlenül bezárás előtt erre a szakaszra.

    AddType alkalmazás / x-httpd-php .php

    A PHP Apache modulként történő telepítéséhez hasonlóan hozzáadhat bármilyen kiterjesztést, hogy az Apache PHP parancsfájlként ismerje fel őket, például:

    AddType alkalmazás / x-httpd-php .phtml

    Ezután meg kell szólítania a kiszolgálót, hogy hajtsa végre a PHP futtatható fájlt minden alkalommal, amikor egy PHP szkript találkozik. Adja hozzá a következő kódot a fájlhoz, például a „ Akció«.

    Ha az Apache 2.2.x fájlt használja, adja hozzá a kódot közvetlenül a fenti AddType utasítás után; Az Apache 2.2.x fájlban nincs megjegyzésblokk " Akció«.

    Műveletalkalmazás / x-httpd-php "/php/php-cgi.exe"

    Megjegyzés: A "/ php /" részt ScriptAlias \u200b\u200bnéven ismerjük fel, egyfajta makróként, amelyet az Apache kibővít "c: / php /" ( vagy "c: / Program Files / php /", ha PHP-t telepített oda). Más szóval, ne írja be a "c: /php/php.exe" elérési utat ebben az irányelvben vagy "C: / Program Files / php / php.exe"és használja a "/php/php-cgi.exe" fájlt.

    Ha Apache 2.2.x fájlt használ, keresse meg a következő szakaszt a httpd.conf fájlban:

    Adja hozzá az alábbi sorokat közvetlenül az imént talált szakasz után.

    Nincs AllowOverride Nincs opció Nincs Rendelés engedélyezi, letiltja az Allow lehetőséget

    c) Az alapértelmezett indexoldal beállítása

    Ez a szakasz a PHP Windows rendszerre történő telepítésének lehetőségére utal, mind Apache modulként, mind bináris CGI-ként.

    Ha index.php fájlt hoz létre, és azt szeretné, hogy az Apache töltse be webhelye kezdőlapaként, akkor hozzá kell adnia egy újabb sort a httpd.conf fájlhoz. Keresse meg a következővel kezdődő sort: DirectoryIndex", És add" index.php»A fájlok listájához. Például, ha volt ilyen kódja:

    DirectoryIndex index.html