Nem fordítja a PHP-t a szerver.

Nem fordítja a PHP-t a szerver.
2011-09-12T10:14:17+02:00
2011-09-12T17:16:55+02:00
2022-07-28T12:20:25+02:00
djjourney
Üdv!

Valamiért nem akarja lefordítani a php fájlokat a szerver. A sima html-t megjeleníti, de a php-t leakarja tölteni mintha bináris lenne.
Telepítettem a php5-öt, és megvannak a /etc/apache2/mods-enabled/php5.conf és /etc/apache2/mods-enabled/php5.load fájlok is.
Mi lehet a baj? Hol ellenőrizzem még vagy hol keressem a hibát?
Előre is köszi a segítséget!!
Mutasd a teljes hozzászólást!
Ja igen, userdir...

A /etc/apache2/mods-available/php5.conf állományban van az alábbi rész:
<IfModule mod_userdir.c> <Directory /home/*/public_html> php_admin_value engine Off </Directory> </IfModule>

No ezt kommentezd ki:
#<IfModule mod_userdir.c> # <Directory /home/*/public_html> # php_admin_value engine Off # </Directory> #</IfModule>

Majd indítsd újra az indiánt:
sudo /etc/init.d/apache2 restart

Forrás
Ja meg az említett állományban is ott a megoldás:
To re-enable php in user directories comment the following lines (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it prevents .htaccess files from disabling it.
Mutasd a teljes hozzászólást!

  • Ha html fájlt nyitok meg amiben php-t is írtam, a php -t nem futtatja le abszolut. Mintha ott sem lenne csak a html-t.
    Mutasd a teljes hozzászólást!
  • Nézd meg a Task Managerben, hogy fut-e egyáltalán az Apache. Ha minden igaz a httpd.exe az.
    Mutasd a teljes hozzászólást!
  • debian ?
    Mutasd a teljes hozzászólást!
  • Ha html fájlt nyitok meg amiben php-t is írtam, a php -t nem futtatja le abszolut. Mintha ott sem lenne csak a html-t.



    adj neki .php kiterjesztest.
    Mutasd a teljes hozzászólást!
  • upsz, most látom, hogy "/etc". Vissza a task manager.
    Mutasd a teljes hozzászólást!
  • 1. Apache naplóállománya (/var/log/apache2/...) mond-e valamit?
    2. Hol van, és mit tartalmaz a kérdéses PHP-állomány? Milyen jogosultságokkal rendelkezik (tulajdonos? csoport?)
    3. Ha jól emlékszem, te telepítetted fel modulként (libapache2-mod-php5), illetve CGI-módban (php5-cgi) is a PHP-t. Most jelenleg mind a kettő él? Mert csak az egyikre van szükség.
    Mutasd a teljes hozzászólást!
  • Most csináltam egy újat, és így telepítettem:
    sudo apt-get install mc sudo apt-get install apache2 sudo apt-get install php5 libapache2-mod-php5 php-5-gd sudo apt-get install mysql-server phpmyadmin sudo a2enmod userdir

    Van most 2 felhasználó a /home könyvtárba
    1. peet (ez vagyok én)
    2. bela

    Mind a kettőnél létreoztam egy public_html mappát.
    sudo mkdir /home/peet/public_html
    sudo mkdir /home/peet/public_html

    Mind a két felhasználó public_html mappájába létrehoztam egy index.html fájlt amiben csak ennyi van:

    <html> <p>peet html kód</p> <?php echo "php kód"; ?> </html>

    Ha beírom az url-be: http://szerver_cime/~peet/ akkor megjelenik peet indexe:
    peet html kód
    de a php nem. Ugyanez a másik felhasználó esetén is. Ha php kiterjesztéssel mentem el az indexet, akkor meg leakarja tölteni mint egy binárist.
    Az érdekes az, hogy a /var/www/proba1.php viszont lefut minden gond nélkül, és lefordítja a php-t rendesen.
    A tulajdonosok és a csoportok nevei mind az adott felhasználóhoz vannak rendelve. A chmod -rw-r--r--
    Most már tényleg nem tudom mi lehet a probléma , de csinálok egy pár képet hogy jobban lássátok mindjárt.
    Mutasd a teljes hozzászólást!
  • itt egy képe a /var/log/apache2/error.log -ról.
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • Itt egy másik kép amikor megnyitom a php fájlt hogy mit csinál
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • /etc/apache2/mods-enabled
    Megvannak a php-s szimbólikus linkek is.
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • Itt meg látszik hogy a /var/www/proba1.php simán lefut. A szerveren kiírattam a tartalmát is hogy lássátok, tényleg lefordítja a phpt, csak a felhasználók php fájljait nem.
    Nagyon megköszönném ha segítenétek mit csináljak
    Vagy ha valaki leírja pontosan lépésről lépésre hogy telepítsek egy másikat és annak a beállításait, az is nagyon jó lenne.
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • Mutasd mi van a /etc/apache2/sites-available/default fájlban! Lehet itt van a probléma...
    Mutasd a teljes hozzászólást!
  • Itt van a /etc/apache2/sites-available/default fájl.
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • Ez meg az alja mert nem fért ki az egész a képernyőre
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • 1) Csak egy tipp, hogy ne mindig csak képeket kelljen feltöltened ide, hanem rendesen hozzáférj a fájlokhoz Win7 alól is: WinSCP-vel, vagy valami olyan klienssel, amely be tud jelentkezni SSH-n a Virtualbox-os szerveredre, azzal csatlakozz, a sima SSH-c account-tal (gondolom ez van telepítve). Csatlakozás után meg tudod nyitni a kiszolgáló bármely fájlját (amihez az SSH-s user-nek olvasási joga van).

    2) Na látod, itt a kép alapján csak a /var/www bejegyzést látni. Másold át a /var/www alá a proba.php-t, majd a böngésződben nyisd meg onnan: http://szerver_cime/proba.php
    Így már lefut? Ha igen, akkor Apache konfigurációs hibád van.
    Mutasd a teljes hozzászólást!
  • Ja igen, userdir...

    A /etc/apache2/mods-available/php5.conf állományban van az alábbi rész:
    <IfModule mod_userdir.c> <Directory /home/*/public_html> php_admin_value engine Off </Directory> </IfModule>

    No ezt kommentezd ki:
    #<IfModule mod_userdir.c> # <Directory /home/*/public_html> # php_admin_value engine Off # </Directory> #</IfModule>

    Majd indítsd újra az indiánt:
    sudo /etc/init.d/apache2 restart

    Forrás
    Ja meg az említett állományban is ott a megoldás:
    To re-enable php in user directories comment the following lines (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it prevents .htaccess files from disabling it.
    Mutasd a teljes hozzászólást!
  • Nagyon jóóó, köszi sikerült
    Már csak az a problémám, hogy bela nevű felhasználónál már lefuttatja a php kódokat is, de peet -nél nem.
    A képen látszik hogy bela -nál mc -ben ha szerkesztem a kódot akkor színes. peet -nél viszont az index.html előtt van egy csillag *index.html és ha megnyitom F4-el akkor tudom szerkeszteni, de nem lesz színes a kód és nem is fordítja le a php-t ugyanúgy mint előtte. Ez mit jelent? a * meg hogy színes a kód vagy sem?
    Most létrehozok egy új felhasználót, adok neki egy public_html -t benne egy .php fájlal és megnézem mi lesz. A forrás -t amit belinkeltél még nem néztem meg de meg fogom, mert meg akarom tanulni, és köszönöm a sok segítséget

    Banderasz : megpróbáltam amit mondtál, de nem sikerült. Lehet hogy rosszul csináltam valamit, mert nem teljesen értettem amit írtál. Sajna még nincs ssh -m, odáig még nem jutottam a telepítésnél. Még csak 5. napja tanulom ezt a linuxos szerver dolgokat, de ha megoldódik ez a probléma az lesz a következő, meg a putty xp-ről meg az FTP.


    Mutasd a teljes hozzászólást!
  • A kép lemaradt.
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • 1. A .html kiterjesztésű állományba illesztett PHP-kód azért nem fut le, mert .html kiterjesztése van, ami alapesetben szimpla HTML-állomány.
    2. A * az állománynév előtt azt jelenti, hogy futtatható az állomány.
    3. Azért színes a kód az egyik helyen, mert PHP-állomány, a másik helyen meg HTML-állomány.
    Mutasd a teljes hozzászólást!
  • Most már értem, és nagyon köszönöm a segítséget
    Jó lett minden! Az új felhasználónál is meg most már mindenhol fut a php. Most csinálom az FTP -t utána meg a SSH -t. Ha elakadok még jövök. Látom jó helyen járok
    A tomcat -el biztos lesz problémám
    Köszönöm mégegyszer
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd