|
66 / 9 / 4
Регистрация: 09.01.2018
Сообщений: 279
|
|
Связка Apache - PHP03.01.2025, 13:56. Показов 2603. Ответов 24
Метки нет (Все метки)
Всем добрый день, и с Новым годом!
Случилась беда, понадобился РНР 8.0 и старше... Не получается помирить Apache и PHP... Из командной строки по-честному на php -v возвращает 8.3.15, как и устанавливал. Список модулей по php -m тоже в порядке, т.е. редактирую в ini строки с extension= - в списке загруженных модулей появляются/пропадают dll. По php --ini рисует правильный путь - ini тот самый. Но если в браузере localhost набрать (там в index.php торчит phpinfo()), то вываливается страница с 8.3.3. В httpd.conf строки про РНР вроде правильные LoadModule php_module "c:\server\bin\php\php8apache2_4.dll " AddHandler application/x-httpd-php .php PHPIniDir “c:\server\bin\php”
0
|
|
| 03.01.2025, 13:56 | |
|
Ответы с готовыми решениями:
24
APACHE+PHP+MYSQL+PHPMYADMIN эта связка актальна для динамического сайта? Связка PHP и Cookies Выводится php-код в браузер после установки php+apache+mysql |
|
Невнимательный
|
|||
| 03.01.2025, 15:28 | |||
|
кроме того что свежее обычно местами поправили. ... на первый взгляд - Почему-бы просто не снести 8.3.3 ... настройки для 8.3.15 только возможно надо будет LoadFile "c:/server/bin/php/php8ts.dll" Но само по себе то что httpd.exe подхватывает *.dll не оттуда уже настораживает. ... Когда php.exe запускается оно первым делом ищет библтотеки там-же где находится. Когда httpd.exe ищет , то что находится не там-же, то ищет перебирая по порядку директории переменной оружения PATH
0
|
|||
|
66 / 9 / 4
Регистрация: 09.01.2018
Сообщений: 279
|
||||
| 03.01.2025, 16:30 [ТС] | ||||
|
0
|
||||
|
Невнимательный
|
||
| 03.01.2025, 18:36 | ||
|
... разных версий в смысле. Плагин VS я не знаю в каком месте держит php... но скорее всего будет в PATH, хотя-бы для своих переменных среды типа когда консоль запускать с ярлыка "Visual Studio Command Prompt" или просто для студии. Даже не знаю чем помочь ,)) можно попробовать например таким WHICH.BAT чего-то поискать Например я могу и такое у себя окружение устроить в PATH % which.bat dll php*Можно и с кучей разных php8ts.dll ... соответствено большая вероятность что сервером, или чем-то в таком окружении , будет подгружаться первая из них . Не по теме: php-7 у меня для XP )) крайнее что нашёл дщля него , типа васяно-сборки с nonxp.dll )
0
|
||
|
Надуваю лягушек
289 / 219 / 93
Регистрация: 01.05.2014
Сообщений: 742
|
||||||
| 03.01.2025, 18:55 | ||||||
|
Попробуй подобное и свой путь пропиши
Define SRVROOT "/usr/local/apache"
1
|
||||||
|
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
|
|||||||
| 03.01.2025, 23:38 | |||||||
1
|
|||||||
|
66 / 9 / 4
Регистрация: 09.01.2018
Сообщений: 279
|
|
| 07.01.2025, 13:49 [ТС] | |
|
Похоже, что сам напортачил, но не пойму где. В логах апача вот таких типа строк
PHP Warning: PHP Startup: curl: Unable to initialize module\nModule compiled with build ID=API20230831,NTS,VS16\nPHP тьма-тьмущая. Т.е. не хочет инициализировать модули скомпиленные как NTS. Но я же PHP специально взял с https://windows.php.net/download#php-8.3 как Thread Safe. Почему ругается, как будто это NTS? Полез в php.ini, закомментил пару строк типа ;extension=bz2. Перезапустил апач - все четко, строки типа PHP Warning: PHP Startup: bz2: Unable to initialize... в логе теперь нет. Какие-то танцы с бубном... Подскажите тупому - не нравится тип компиляции, или не находит этот модуль? Причем странно - в папке ext лежит php_bz2.dll, а в php.ini что extension=bz2, что extension=php_bz2 - одна фигня. Добавлено через 3 минуты Полез еще за инсталяцией апача - там последняя версия под VS17, а про VS16 - только старые сборки, типа больше и не будет VS16 Добавлено через 35 минут Переустановил апач из исходника под VS16 - не помогло. Все теже строки в error.log про то, что не может инициализировать модули типа PHP Warning: PHP Startup: curl: Unable to initialize module\nModule compiled with build ID=API20230831,NTS,VS16\nPHP
0
|
|
|
Невнимательный
|
|||
| 07.01.2025, 13:53 | |||
|
Так-то, например если пользуетксь TotalCommander можно просто по F3 посмотреть с ts или нет собрана dll ... в зависимостях будет phpXXts.dll ... некоторые зависят ещё от сторонних dll , которые в директории с самим php Но бывает, что стандартное extension_dir = "ext" поможет заменить полным путёмтипа extension_dir = "d:/pathto/php8.2/ext" или где там оно.... чтоб наверняка. PhpIniDir в таком регистре у меня
1
|
|||
|
66 / 9 / 4
Регистрация: 09.01.2018
Сообщений: 279
|
||
| 07.01.2025, 14:06 [ТС] | ||
|
Опа-на... Начало прояснятся.
Скачал длл-ку под сиквел с Thread Safe - ошибка в логе про sqlsrv.dll исчезла. Все понятно - хочет все dll-ки под Thread Safe, но где их взять? На https://windows.php.net/download#php-8.3 скачивал же именно TS...
0
|
||
|
66 / 9 / 4
Регистрация: 09.01.2018
Сообщений: 279
|
||
| 07.01.2025, 14:53 [ТС] | ||
|
https://www.ghisler.com/plugins.htm отсюда fileinfo скачал и обновил у TC. Добавлено через 19 минут Заработало! Ура! Танец с бубном исполнен! Первую строку (про php8.dll)добавил сам, а последняя из ниже перечисленных строк из httpd.conf была лишняя # от Царь Бабай LoadFile "c:/server/bin/php/php8.dll" LoadFile "c:/server/bin/php/php8ts.dll" LoadFile "c:/server/bin/php/libpq.dll" LoadFile "c:/server/bin/php/libsqlite3.dll" #LoadModule php_module "c:/server/bin/php/php8apache2_4.dll" Как только ее закомментил - в error.log осталось только 4 строки (удалял его, чтобы не копаться) Добавлено через 9 минут И побочный эффект - phpinfo() перестало работать. Видать как-то зависит от php8apache2_4.dll. Ну да ладно - переживу.
0
|
||
|
Невнимательный
|
||
| 07.01.2025, 15:12 | ||
|
... у меня вообще-то не запускатся php>=2.3 и XP >5.4 ( != 7.0 mod) ... но всю жизнь было или всё TS или всё NTS никакого смешивания. Сейчас вот под XP сижу и php-7.0 вообще не модулем а с php-cgi.exe посредством mod_fcgidно никаких php7.dll даже и рядом не было никогда, только php7ts.dll
0
|
||
|
66 / 9 / 4
Регистрация: 09.01.2018
Сообщений: 279
|
|
| 07.01.2025, 15:19 [ТС] | |
|
А вот и не заработало... Вызываю свой php скрипт - возвращается текст самого скрипта/
0
|
|
|
Невнимательный
|
||||||||||||
| 07.01.2025, 15:45 | ||||||||||||
как вариант AddHandler application/x-httpd-php php тоже из mod_mimeи есть ядерная SetHandler файл точно c разрешением .php ? чего-то как-то насчёт сервера можете посмотреть ? ... как если включить
0
|
||||||||||||
|
66 / 9 / 4
Регистрация: 09.01.2018
Сообщений: 279
|
|
| 07.01.2025, 16:59 [ТС] | |
|
0
|
|
|
Невнимательный
|
||
| 07.01.2025, 17:05 | ||
|
и на предмет application/x-httpd-phpИ раньше забыл сказать ... error.log бывает жалуется на что-то, выплёвывает модуль, но загружается и без него
0
|
||
|
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
|
||
| 07.01.2025, 20:15 | ||
|
Добавлено через 59 секунд https://www.php.net/manual/ru/... pache2.php
1
|
||
|
66 / 9 / 4
Регистрация: 09.01.2018
Сообщений: 279
|
|
| 25.01.2025, 12:12 [ТС] | |
|
Всем спасибо за участие.
Как говорится, не нужно прыгать туда-сюда. Нужно все делать последовательно. Деинсталлировал Apache, удалил все каталоги его и РНР. Добился полного удаления - гарантия, что ни один ехе-шник нигде не загружается. Как устанавливать Apache - за кадром, в инете полно инфы и роликов. После установки проверяем работоспособность как там говорят. Как устанавливать РНР - тоже за кадром, гуглим там же. После установки проверяем работоспособность как там говорят. Дополнительно стараемся скачивать и устанавливать сборки под Windows и Apache и PHP скомпилированные под одной средой. В моем случае я выбрал под VC16. Соответственно пакет под VC16 тоже скачиваем и устанавливаем. И как посоветовали в гугле РНР я выбрал в потокозависимой версии (не nts). А вот для связки в конфиг Apache прописываем вот такие строки: #For PHP 8.0.0 LoadModule php_module "Свой Каталог до ДЛЛ-ки/php8apache2_4.dll" <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> PHPIniDir "Свой Каталог до php.ini" Как правило и ДЛЛ и ИНИ торчат в одной папке. И не забудьте раскомментить модули (extention) в php.ini, указав путь до них extension_dir = "Свой каталог\PHP\ext" Добавить туда (в папку) недостающие (мне понадобилась длл для MS SQL Server) и прописать их в php.ini. Ничего больше в php.ini не правил, только сделал его из php.ini-development тупым созданием копии. И вуаля. Все работает. Весь этот гиморрой случился от того, что пришлось с РНР7.1 перейти на РНР8.3. Пока не сконфигурил связку приходилось работать под VS2019 с расширением под РНР. А это расширение работало под IIS Express. Еще раз всем спасибо.
0
|
|
|
66 / 9 / 4
Регистрация: 09.01.2018
Сообщений: 279
|
|
| 27.05.2025, 09:08 [ТС] | |
|
Наверное стоило начать новую тему...
Все-таки проблема не оставляет в покое... В полной уверенности, что деинсталляция апача, подчистка за ним и PHP, с последующим копированием нужных каталогов и установкой апача как сервиса, проблемы не родит. Ан нет - на другом компе ситуация повторилась. При запуске сервиса апач и его попытке подгрузить библиотеки РНР в логе появляются строки типа PHP Warning: PHP Startup: Unable to load dynamic library 'curl' (tried: C:\\server\\bin\\PHP\\ext\\curl (\xd0........... Правка строк в php.ini убеждает, что : 1. Читается именно этот ini. 2. Не грузятся только некоторые из библиотек (расширений). 3. Причина не в путях/названиях и пр., а именно в самих библиотеках. Т.е. стоит изменить название библиотеки в php.ini, как указанная выше строка также появляется в логе и касается как раз исправленной строки в php.ini. Проанализировал установленные фреймворки и пр. на двух компах, доустановил пакет С++. Не помогло. Не знаю, что дальше делать. Полную переустановку, как в первом случае делать не хочу. Хочу сделать некий cmd, чтобы нужное мне ПО начинало работать без танцев с бубном. Добавлено через 7 минут Смущают такого вида строки подгрузки библиотек (помеченные библиотеки не грузятся) .... extension=curl ; extension=ffi extension=ftp ; extension=fileinfo ..... Дело в том, что на самом деле библиотеки то php_curl.dll и php_ffi.dll. Но curl не грузится, а ffi грузится. Стоит только исправить на extension=ffi_ или изменить имя самой длл ffi - сразу в логе добавляется строка про ошибку загрузки. Такое впечатление, что просто где-то апачу не сообщается про то, что curl - это синоним php_curl.dll.
0
|
|
| 27.05.2025, 09:08 | |
|
Помогаю со студенческими работами здесь
20
Не работает связка rss+php.
PHP Apache Привязать PHP к apache Apache & PHP ?! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|