Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: baalpeor в Apr 01, 2008, 19:44



Титла: Проблем при сработватенто на php с apacheу
Публикувано от: baalpeor в Apr 01, 2008, 19:44
Здравейте.Аз съм с Линукс Юбунту 7.10.Виждал съм на много сайтове инструкции как да инсталирам apache,и после php.Мога да го направя и с мениджъра на пакети (Synaptic).Ама после не се сработват,сървъра ми откава да чете php файлове.Лично аз смятам,че причината е в httpd.conf  ,който ми го дават като празен файл( в уина не е празен,точно там ги сработвах).Ако някой знае,да ми каже наистина ли е от там причината,и ако да,откъде да го намеря да не е празен.





Титла: Проблем при сработватенто на php с apacheу
Публикувано от: spec1 в Apr 01, 2008, 20:12
Темата често е дискутирана.
 Трябва да има някакъв httpd.conf някъде в /etc
 Ако php е инсталиран, добави в httpd.conf
    LoadModule php5_module /path/libphp5.so
    AddType    application/x-httpd-php .php
Обикновено libphp5.so е в   /usr/lib
P.S. не съм сигурен за Ubuntu, може конф.файл да се
казва apache.conf  или apache2.conf ,потърси  в  /etc
съотв:
 find /etc -name "apache*" -print
 find /etc -name "httpd*" -print


Титла: Проблем при сработватенто на php с apacheу
Публикувано от: neter в Apr 01, 2008, 20:34
Когато инсталираш apache и php с пакетния мениджър (synaptic, apt, aptitude...), освен тях двете, трябва да инсталираш и libapache2-mod-php5. Това е модулът за връзка между apache и php. При инсталирането му, той сам ще добави нужните конфигурационни редове за apache, за да работи с php, като ще добави 2 файла в /etc/apache2/mods-available с имена php5.conf и php5.load. Направи symlink-ове (shortcut-и, преки пътища) към тях в /etc/apache2/mods-enabled с последователни команди като root
Примерен код
ln -s /etc/apache2/mods-available/php5.conf /etc/apache2/mods-enabled/php5.conf
ln -s /etc/apache2/mods-available/php5.load /etc/apache2/mods-enabled/php5.load

Главният конфигурационен файл в apache-то при Ubuntu се нарича apache2.conf, но не добавяй в него редовете, които ти препоръча spec1. Тези редове присъстват в онези два файла, на които ще направиш symlink-ове. Можеш да го направиш и без symlink-ове като добавиш въпросните редове ръчно в apache2.conf, но не е нужно. Все пак, не считай съвета на spec1 като грешен. Това е начина, по който се настройва връзката между apache и php, когато apache и php са компилирани ръчно, а не са качени от пакетната система.


Титла: Проблем при сработватенто на php с apacheу
Публикувано от: phantomlord в Apr 01, 2008, 20:58
http://www.myfreesoft.net/phpBB2....95f261f


Титла: Проблем при сработватенто на php с apacheу
Публикувано от: neter в Apr 01, 2008, 21:20
С леко офтопик ще вметна - phantomlord, относно статията, към която си дал препратка, като статия насочена към начинаещи е доста непълна. Модулът на php5 няма да се активира автоматично само с инсталирането на пакета libapache2-mod-php5. Трябва да се добавят symlink-овете, за които писах по-горе или да се добавят редовете, които си писал като вариант, ако не тръгне автоматично и които spec1 е предложил. Както в случая, основният файл не се казва httpd.conf, а е apache2.conf и, ако поради някаква причина няма ред за include в apache2.conf, вкарването на настройки в httpd.conf няма да доведе до нищо. Относно редовете за добавяне, това са едни по-добри редове
Примерен код
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
<IfModule mod_php5.c>
  AddType application/x-httpd-php .php .phtml .php3 .phpt
  AddType application/x-httpd-php-source .phps
</IfModule>

Хубаво е да се каже, че следният ред
Примерен код
RedirectMatch ^/$ /apache2-default/

трябва да се коментира или да се изтрие от конфигурацията на хоста, която може да е или в основния конфигурационен файл или в някой допълнителен (в случая на Ubuntu, /etc/apache2/sites-available/default), иначе потребителят ще се чуди защо добавя файлове във /var/www, а сякаш ги няма и продължава да си изкарва приведственото съобщение. Освен това, в конфигурацията на хоста може да е зададено опцията Indexes да е изключена и потребителят ще се чуди къде да цъкне на test.php след зареждането на http://localhost. А ето и един по-съкратен вариант на показания test.php
Примерен код
<? phpinfo();

Браво за труда да напишеш статия по въпроса, но би било още по-хубаво, ако я довършиш, за да може да служи за пример ;)





Титла: Проблем при сработватенто на php с apacheу
Публикувано от: baalpeor в Apr 01, 2008, 21:29
Подкарах го :)  .Благодаря ви много и на тримата за помощта.Значи httpd.conf си остава празен.Просто трябваше да изпълня този код:
a2enmod php5
/etc/init.d/apache2 force-reload
в конзоалта.


Титла: Проблем при сработватенто на php с apacheу
Публикувано от: phantomlord в Apr 02, 2008, 01:05
neter, това, което съм писал, съм го правил. Нищо допълнително, освен онова, което съм писал не съм правил и не е имало нужда. Ако е имало нужда, щеше да е написано.

Поздрави.

П.П.: Май не си чел какво съм писал. Изпуснал си:
1.
Цитат
a2enmod php5
/etc/init.d/apache2 force-reload

2.
Цитат
kate /etc/apache2/httpd.conf

Добавяте във файла следното:
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
AddType application/x-httpd-php .php






Титла: Проблем при сработватенто на php с apacheу
Публикувано от: neter в Apr 02, 2008, 08:05
//offtopic

Не, не. Не съм казал, че е грешно или че човек няма да успее да си пусне сървъра, ако го следва. Не ми е нужно да пробвам статията, за да видя, че работи. Пускал съм десетки apache-та и съм наясно с почти всяка врътка при тяхната инсталация и настройка. Просто си мисля, че статиите трябва да се опитват да гонят донякъде изчерпателност на темата, за да се обхване и някакъв диапазон от частни случаи, а и при изчерпателност, има по-голяма вероятност четящия да схване логиката на това, което прави, а не да го следва сляпо и следващия път пак да се налага да следва статията стъпка по стъпка. Но както искаш, беше просто предложение ;)


Титла: Проблем при сработватенто на php с apacheу
Публикувано от: phantomlord в Apr 02, 2008, 08:38
Нямам за цел да правя от всеки гуру, а да посоча конкретно решение на конкретен проблем. Както се вижда, решението е успешно, темата е изчерпана. :)