PHP как модуль Apacha

Линк

Guest
Господа, а не проще ли просто убрать эту строку? Зачем ее Add, потом Clear, и снова Add?
 

vladlen

Новичок
Сейчас такая ситуация.

в httpd.conf прописал

LoadModule php4_module c:/php/sapi/php4apache.dll
AddType application/x-httpd-php .php

Строчки "AddModule mod_php4.c" нету вообще нигде

Файлы php4apache.dll и php4ts.dll засунул везде, где возможно
с:\php\sapi
с:\php\
с:\program files\apache group\apache
с:\winnt\
с:\winnt\system32

В итоге Apache запускается, PHP при этом не работает.
При запуске из командной строчки apache.exe -t выводит:
httpd.conf syntax.ok
Cannot remove module mod_php4.c: not found in module list

Кстати, с
ClearModuleList и после нее добавить AddModule mod_php4.c
Apache вылетает, выдаёт ошибку.

Видимо дело всё таки не в настройке. Я думаю надо другие версии PHP и Apache попробовать.
 

Линк

Guest
Сделайте все по [f]newbie[/f]
там сказано, какую версию апача и php ставить
даю гарантию, у Вас все заработает
 

Krisha

pain in the neck
vladlen
Сравни путь, который я привел в своем примере и путь, который прописываешь ты в строке LoadModule php4_module... и еще обрати внимание на кавычки.

P.S. После удаления из списка ClearModuleList записи AddModule mod_php4.c и перезагрузки компутера у меня брозер предлагает созранить скрипт на винте, о как!
 

Линк

Guest
перезагрузки компутера у меня брозер предлагает созранить скрипт на винте, о как
Потому что надо вгрузит модуль наверное.

Я это так понимаю:

LoadModule php4_module php4apache.dll
#Загрузили модуль. Теперь Apache знает, что миме тип
#application/x-httpd-php должен обрабатываться php
#(это ему модуль сказал).
#
#Теперь осталось сказать апачу, какие расширения должны
#быть связанны с этим типом.

AddType application/x-httpd-php .php .php3 .phtml
#Вот и сказали.
#
#А если просто связать расширения, не загрузив модуль, но
#Apache будет отдавать бравзеру php Файлы с миме типом
#application/x-httpd-php, не обработав их php.
#Бравзер такого типа не знает, и предложит их сохранить


:)
 

vladlen

Новичок
В общем всё заработало. Скачал PHP 3.3.4 , Apache 1.3.29. Установил.

в httpd.conf:
LoadModule php4_module c:/php/sapi/php4apache.dll
AddType application/x-httpd-php .php
ClearModuleList
AddModule mod_php4.c

если последнее не писать, то
Cannot remove module mod_php4.c: not found in module list

Файл php4ts.dll поместил в
с:\winnt\system32

Туда же dll из папки dlls и extensions
 

Линк

Guest
Я все равно не понимаю зачем:
ClearModuleList
AddModule mod_php4.c
Исходя из док, бывает два типа модулей
динам. и стат.
Динам. подули подгружаются через LoadModule, и лежат в отдельных файл

Стат. модули вкомпаливаюцца в апаче (ввиде сырцов .c)
После этого их можно активировать через AddModule
что бы деактивировать все модули надо ClearModuleList

Тоесть если php уже подгружен как динам. модуль, нет смысла активировать ее поддержку.

Надеюсь, я ничего не спутал
 

Krisha

pain in the neck
Линк
Смотри в чем штука.
Я год назад, когда настраивал свою теперешнюю рабочую тачку, столкнулся именно с этой проблеммой. Ебстественно до этого неоднократно настраивал связку пхп+апач. Долбался я часа 2, пока не прописал так, как рекомендовал выше, по-другому пхп работать отказывался.

Я так и не врубился, в чем тут фича...

Единственное, что я могу предположить, что это мастдай что-то крутит вертит с библиотеками, а не апач.

Ты под виндами сидишь? Если да, то под какими и как у тебя настроено ?

-~{}~ 19.02.04 14:42:

Да, исходя из того, что я вчера убирал эту запись из конфа и перегружал апач и всё работало, а потом перегрузил тачку и брозер стал предлагать загрузить php имхо подтверждает гипотезу о том, что проблеммы исходят от винды.
 

Линк

Guest
под юнихами у меня компален .c
а под виндами без всякого AddModule
просто через dso
LoadModule ..dll

а у тебя апач из сырцов собран?
 

Krisha

pain in the neck
Линк
>> а у тебя апач из сырцов собран?
Неа, просто скачал архив с дистрибутивом (apache_1.3.29-win32-x86-no_src.exe).

У меня эта трабла возникла под 2000 +sp4eng.
У тебя под какой виндой работает ?
 

Линк

Guest
так наверное модуль туда вкомпален
видимо в том и проблема

винда win2k sp4

-~{}~ 19.02.04 16:23:

apache -l
что говорит?
 

Krisha

pain in the neck
Compiled-in modules:
http_core.c
mod_so.c
mod_mime.c
mod_access.c
mod_auth.c
mod_negotiation.c
mod_include.c
mod_autoindex.c
mod_dir.c
mod_cgi.c
mod_userdir.c
mod_alias.c
mod_env.c
mod_log_config.c
mod_asis.c
mod_imap.c
mod_actions.c
mod_setenvif.c
mod_isapi.c
 

Линк

Guest
хорошо
mod_php4.c там нет

а если убрать строки ClearModuleList и AddModule, а поставить LoadModule и AddType, то у тебя перестает обрабатываца php?

странно правда(( пойду кого нить спрошу://
 

Krisha

pain in the neck
В общем вот оно как получается:

1. Если закоментить ClearModuleList и все AddModule после него, то Апач поднимается на ура и всё работает.

2. Если не коментить ClearModuleList, тогда после него нужно добавлять AddModule mod_php4.c
 
Сверху