Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > Странности в новом Апатче


Автор: Ak47black 17.6.2006, 00:30
Доброе время суток.
Сталкнулся с такой интересной проблеммой.
При подключении php к apache apache_2.2.2-win32-x86-no_ssl.msi при помоши 
Код

AddType application/x-httpd-php phtml php
LoadModule php5_module c:/www/php/php5apache2.dll

При запуске сервера выдается ошибка что модуть неможет быть найден. Уже пробовал и проверял всё что можно но всеровно тоже самое.
НО с с такими-же самыми настройка в дрогой версии apache_2.0.58-win32-x86-no_ssl.msi все проходит гладко, некаких ошибок невыдается и все работает и работало и видимо будет работать на ура.
Даж без понятий по этому поводу. По наслышке слышал что некоторые нерекомендуют устанавливать новые версии. Что тут может может я незнаю особенности новой версии или в новой верси дапушена грубая ошибка. И как новая версия работает у других.  smile  

Автор: Sun 17.6.2006, 08:48
Есть подозрение что процесс апача не имеет доступа к c:/www/php/php5apache2.dll. Проверь из под какого юзера запущен Апач и имеет ли этот юзер доступ на чтение. Кроме того посмотри в логах Апача на предмет ошибки и в System Events логе. 

Автор: Mal Hack 17.6.2006, 11:29
php5ts.dll в Apache2/bin скопировал? 

Автор: Ak47black 17.6.2006, 13:14
Цитата(Mal Hack @ 17.6.2006,  11:29)
php5ts.dll в Apache2/bin скопировал?

Скопировал ,только непомогает.
В event Vievere следушая ошибка 
Код

The Apache service named  reported the following error:
>>> httpd.exe: Syntax error on line 765 of C:/www/Apache2/conf/httpd.conf: Cannot load C:/www/php/php5apache2.dll into server: The specified module could not be found.     .

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

Хотя файл сушествует и путь правильно указан. 
Запушен из под текушего юзера и юзер имеет полный доступ.
Самое интересное что в предыдуший версии все шло нормально  smile . 

Автор: Sun 17.6.2006, 16:54
Цитата(Ak47black @  17.6.2006,  10:14 Найти цитируемый пост)
Cannot load C:/www/php/php5apache2.dll into server: The specified module could not be found.

Боюсь что все-таки процесс апача имеет другие привелегии либо php5apache2.dll требует дополнительных библиотек. Можно попробовать запустить FileMon и посмотреть какой файл пытается найти процес httpd  

Автор: Ak47black 17.6.2006, 19:43
Цитата(Sun @ 17.6.2006,  16:54)
Цитата(Ak47black @  17.6.2006,  10:14 Найти цитируемый пост)
Cannot load C:/www/php/php5apache2.dll into server: The specified module could not be found.

Боюсь что все-таки процесс апача имеет другие привелегии либо php5apache2.dll требует дополнительных библиотек. Можно попробовать запустить FileMon и посмотреть какой файл пытается найти процес httpd

Код

5251    19:36:30    httpd.exe:488    READ    C:    SUCCESS    Offset: 24576 Length: 4096    
5252    19:36:30    httpd.exe:488    READ    C:\www\php    SUCCESS    Offset: 4096 Length: 4096    
5253    19:36:30    httpd.exe:488    CLOSE    C:\www\php\    SUCCESS        
5254    19:36:30    httpd.exe:488    QUERY INFORMATION    C:\www\php\php5apache2.dll    SUCCESS    Attributes: A    
5255    19:36:30    httpd.exe:488    OPEN    C:\www\php\php5apache2.dll    SUCCESS    Options: Open  Access: Execute    
5256    19:36:30    httpd.exe:488    QUERY INFORMATION    C:\www\php\php5apache2.dll    SUCCESS    Length: 36925    
5257    19:36:30    httpd.exe:488    CLOSE    C:\www\php\php5apache2.dll    SUCCESS        
5258    19:36:30    httpd.exe:488    READ    C:\www\php\php5apache2.dll    SUCCESS    Offset: 0 Length: 32768    
5260    19:36:30    httpd.exe:488    QUERY INFORMATION    C:\www\php\php5apache2.dll    SUCCESS    Attributes: A    
5261    19:36:30    httpd.exe:488    OPEN    C:\www\php\php5apache2.dll    SUCCESS    Options: Open  Access: Execute    
5262    19:36:30    httpd.exe:488    QUERY INFORMATION    C:\www\php\php5apache2.dll    SUCCESS    Length: 36925    
5263    19:36:30    httpd.exe:488    CLOSE    C:\www\php\php5apache2.dll    SUCCESS        
5264    19:36:30    httpd.exe:488    READ    C:\www\php\php5apache2.dll    SUCCESS    Offset: 28672 Length: 4096    
5265    19:36:30    httpd.exe:488    READ    C:\www\php\php5apache2.dll    SUCCESS    Offset: 16384 Length: 8192

Я конешно неособо разбираюсь в revers'e но по моему он успешно находит.  А в ивентах 
Код

The Apache service named  reported the following error:
>>> httpd.exe: Syntax error on line 765 of C:/www/Apache2/conf/httpd.conf: Cannot load C:/www/php/php5apache2.dll into server: The specified module could not be found.     .

Прям миcтика какаета. 
Мож я гдето неправ ? smile  

Автор: Sun 19.6.2006, 10:12
Цитата(Ak47black @  17.6.2006,  16:43 Найти цитируемый пост)
Прям миcтика какаета. 
Мож я гдето неправ ? smile  

Значит эта dll требует еще какой-то дополнительной dll которой нет у тебя на машине. Можно посмотреть секцию импорта в php5apache2.dll, например через dumpbin, и проверить все ли dll у тебя есть и лежат ли они в системных дирах. 

Автор: Ortega 22.6.2006, 01:04
Столкнулся с похожей проблемой.
http://php.net/manual/ru/install.windows.apache2.php прочитал:
Цитата

If you use Apache 2.2.x, the included DLLs (php4apache2.dll and php5apache2.dll) will not work for you as they are specific to the Apache 2.0.x API. There is an open bug report to address this issue but if you can't wait then go to the following URL and download an appropriate DLL for Apache 2.2.x:

* http://apachelounge.com/

The PHP Group does not endorse this site but it appears useful, so use it :-)

Пойдя по указанной ссылке, нашел http://www.apachelounge.com/download/mods/php5apache2.dll-php5.1.x.zip. Однако заставить его работать не получилось поскольку в инструкции к установке этой dll-ки написано следующее:
Цитата


- Copy php5apache2.dll to your php folder (eg. c:/php)

- Copy httpd.exe.manifest to apache2/bin

- Finally install the Visual C++ 2005 Redistributable Package (the binary is build with VC 2005).  
  Download it from:  http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en

  When you have already installed the .NET framework 2 you can skip this step.

Выполнить 3й шаг в данный момент не представляется возможным, поскольку та тварь, которую по этой ссылке закачиваешь, требует XP SP2, а у меня первый пак. А без третьего шага при выполнении второго апач отказывается запускаться со словами
Цитата

Не удается выполнить указанную программу

А если выполнять только шаг первый, никакого эффекта нет.

Ради спортивного интереса собираюсь поставить 2й сервис пак и таки попытаться заставить все это работать. Но это будет позже, поскольку Apache именно 2.2 версии мне не критичен, поживу и с 2.0
Ak47black, попробуй и сообщи о результатах. 

Автор: Ortega 22.6.2006, 02:20
В поисках истины я забрел http://www.softtime.ru/info/articlephp.php?id_article=95.
Автор статьи справедливо замечает, что
Цитата

Если Вы попытаетесь подключить штатный модуль php5apache2.dll к Apache2.2.2, то Вас ожидает неудача.


Он предлагает 
Цитата

Для того, чтобы получить новейшие версии PHP с поддержкой Apache2.2., которую еще не имеют стабильные релизы, вам необходимо скачать их с сайта http://snaps.php.net

и делится уже скачанной библиотекой
Цитата

Для того, чтобы Вам не пришлось выкачивать полный 8Мб-ый архив с последним snapshot-ом PHP необходимую библиотеку мы опубликовываем отдельно: скачать php5apache2_2.dll

Однако предложенная им библиотека на моем апаче (apache_2.2.2-win32-x86-no_ssl) пахать не захотела. Пришлось качать. Последую примеру автора статьи и поделюсь библиотечкой.
  

Автор: Ak47black 24.6.2006, 17:07
У меня сразу после установки всего этого незаработало, но потом когда комп перезагрузил все пошло. У меня SP2. 

Автор: GSMD 26.6.2006, 11:17
Я бы посоветовал все-таки поднять LAMP (хотя бы под VMware), либо, при тотальной невозможности, использовать http://www.denwer.ru или http://apache2triad.net/. 

Автор: levkin 28.6.2006, 11:53
Спасибо ОГРОМНОЕ ребята за подсказку! Нереально выручили! 

Автор: malor 27.8.2007, 15:06
Строки из файла Readme First.txt (архив php5apache2.dll-php5.1.x.zip, скачанный с http://www.apachelounge.com/download/ )
Цитата
- Copy php5apache2.dll to your php folder (eg. c:/php)

- Copy httpd.exe.manifest to apache2/bin

- Finally install the Visual C++ 2005 Redistributable Package (the binary is build with VC 2005).  
  Download it from:  http://www.microsoft.com/downloads/details...;displaylang=en
  When you have already installed the .NET framework 2 you can skip this step.
Сделал первые два шага, а что находится в третьем шаге по ссылке? Сколько оно весит?

У меня при запуске такое сообщение:
Код
C:\WebServers\usr\local\Apache2.2\bin>httpd.exe
httpd.exe: Syntax error on line 454 of C:/WebServers/usr/local/Apache2.2/conf/ht
tpd.conf: Syntax error on line 2 of C:/WebServers/usr/local/Apache2.2/conf/php5_
mod.conf: Cannot load C:/WebServers/usr/local/php5/php5apache2.dll into server:
\xcd\xe5 \xed\xe0\xe9\xe4\xe5\xed \xf3\xea\xe0\xe7\xe0\xed\xed\xfb\xe9 \xec\xee\
xe4\xf3\xeb\xfc.
 

В папке C:/WebServers/usr/local/php5/ лежит файл php5apache2.dll весом 36 927, т.е. тот видимо, что и Ortega предлагает скачать.

Что делать?

Делал как сказано в инструкции на http://forum.dklab.ru/php/book/UstanovkaApache2058Php514IMysql5022-Podrobno.html :
Цитата
32. Разархивируйте ZIP в C:\WebServers\usr\local\php5, перейдите в этот каталог. 
33. Создайте файл php.ini, скопируйте туда всю информацию из фала php.ini-dist 
34. Найдите директиву error_reporting и внесите изменение: 
         error_reporting = E_ALL 
35. Найдите include_path (она спрятана в комментарии), уберите знак комментария и внесите изменения: 
         include_path = "C:/WebServers/usr/local/php5/PEAR" 
36. Исправьте extension_dir: 
         extension_dir = C:/WebServers/usr/local/php5/ext 
37. Найдите список extensions и уберите знаки комментариев для: 
     extension=php_gd2.dll 
     extension=php_mysql.dll 
     extension=php_xsl.dll 
38. Установка PHP в виде CGI-программы. Создадим файл php5_cgi.conf в директории C:\WebServers\usr\local\Apache2\conf\ 
39. Заполним его строками: 
    ## Подключение PHP5 в виде CGI. 
    AddType application/x-httpd-php5 php5 
    ScriptAlias /_php5/ "C:/WebServers/usr/local/php5/" 
    Action application/x-httpd-php5 "/_php5/php-cgi.exe" 
40. Подключаем данный файл к httpd.conf (вносим строку в httpd.conf): 
        Include conf/php5_cgi.conf 
41. Установка PHP в виде модуля. Создадим файл php5_mod.conf в директории C:\WebServers\usr\local\Apache2\conf\ 
42. Заполним его строками: 
    ## Подключение PHP5 в виде модуля Apache 
    LoadModule php5_module "C:/WebServers/usr/local/php5/php5apache2.dll" 
    AddHandler application/x-httpd-php php 
43. Подключаем данный файл к httpd.conf (вносим строку в httpd.conf): 
        Include conf/php5_mod.conf 
44. Добавим в файл Run.bat строки: 
        set PHPRC=C:\WebServers\usr\local\php5 
    set PATH=%PHPRC%;%PATH% 
45. Проверим работоспособность PHP, создав файл test.php в директории localhost\www\ и запустив его в браузере (не забудьте перезапустить Apache после всех изменений): 
    <?php 
    echo "It works!<br>\n"; 
    phpinfo(); 
    ?> 
47. Должна появится таблица с различными параметрами. 
Только строку  Include conf/php5_cgi.conf в httpd.conf сделал закомментированной, т.к. подключаю PHP  в виде модуля. Также, вместо 44 пункта переменные среды воткнул не в Run.bat, а в  Мой компьютер -> Свойства -> Дополнительно ->Переменные среды-> Системные переменные.
После того как я набираю в адресной строке localhost/test.php у меня вместо "таблицы с различными параметрами" появляется текст:
Цитата
<?php 
    echo "It works!<br>\n"; 
    phpinfo(); 
    ?> 
Как быть?

WinXP_sp2, apache_2.2.4-win32-x86-no_ssl.msi, php-5.2.1-Win32.zip

Автор: sergeysk 1.6.2008, 18:00
I have Windows XP SP2
Копию php5apache2.dll and php5ts.dll, php.ini положил в windows/system32 directory 

in httpd.conf я добавил:
LoadModule php5_module "c:/php/php5apache2.dll"
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .html  .phtml
AddType application/x-httpd-php .php4
AddType application/x-httpd-php .php
DirectoryIndex index.html index.html.var index.php

Когда запускаю Апаче вижу ошибку:
httpd.exe: Syntak error on line 118 of C:/Apache2/conf/httpd.conf:
Cannot load C://php/php5apache2.dll into server: The specified module could not be found.

Я сменил 

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

на

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

это работает даже без php5apache2_2.dll_, которую я dowloaded.
Когда я делитал php5apache2_2.dll_ ничего не изменилось

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)