Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Сборка php под windows
Форумы портала PHP.SU » PHP » Программирование на PHP » Сборка php под windows

Страниц (1): [1]
 

1. Edwvee - 15 Мая, 2014 - 15:43:42 - перейти к сообщению
Конфа: win xp, ms vs 2008, win sdk 6.1. Собирал 5.4.
Делал по этому ману: https://wiki.php.net/internals/w.../stepbystepbuild
Удачно удалось выполнить до 14 пункта включительно. Строка на 14 пункте у меня такая получилась:
CODE (htmlphp):
скопировать код в буфер обмена
  1. configure --enable-cli --enable-apc --with-mysql --with-mysqli --enable-pdo --with-pdo-mysql --with-pdo-pgsql --with-pdo-sqlite --enable-soap --enable-sockets --with-pgsql --enable-mbstring --enable-mbregex --enable-cli-win32 --enable-intl --with-mhash --enable-apache2-2handler=shared --enable-apache2-4handler=shared --disable-cgi

Две проблемы:
1. Не собирается если не отказаться от mysqlnd(а из-за зависимости от него приходится отказаться от других расширений для работы с бд, относящихся к mysql) или от zlib.
В чем суть: в mysqlnd_net.c есть строка

Так как данный заголовочный файл не входит в стандартную поставку msvc, то оно выдавало, что не может найти такой файл и прекращало сборку. Я заменил #include "path/to/deps/include/zlib.h". Компиляция прошла успешно. Но линковщик сказал, что не может слинковать из-за того, что объектный файл mysqlnd имеет вызовы двух функций из чего-то внешнего и как раз эти функции относятся к zlib. Что можно сделать, чтобы решить проблему с линковкой?
2. Если собрать без mysqlnd. В папке с билдом не появляется apache2-4handler.dll и 2-2 тоже. Хоть shared, хоть не shared указывай. В чем проблема?
Строка для сборки допустим такая:
configure --enable-cli --enable-apache2-4handler=shared --without-mysqlnd

Пс: как компилятору передать параметр /O2?
2. valenok - 15 Мая, 2014 - 17:55:21 - перейти к сообщению
Edwvee пишет:
Конфа: win xp, ms vs 2008, win sdk 6.1. Собирал 5.4.

Вот это очень древняя конфа. В таком случае вам будет проще скачать готовый пакет.

1. В вашем случае линковщик отвалился так как версии zlib.h видимо разные.
2. Если открыть получившийся makefile то в нем можно будет найти CFLAGS (compiler flags) и дописать туда O2. Обычно О2 там уже стоит.
3. Edwvee - 16 Мая, 2014 - 09:23:11 - перейти к сообщению
Цитата:
Вот это очень древняя конфа. В таком случае вам будет проще скачать готовый пакет.

Собственно это затевалось ради сборки opcache или apc, ну и конечно интереса ради, ну и статическая сборка вроде читал быстрее слегка. XCache только работал из готовых dll, но он не давал особой разницы в скорости. Сейчас правда работает eAccelerator, но та dll которую нашел, выдает ошибку при использовании анонимных функций. Пытался собрать последнюю, где вроде баг исправлен, но собранные мной dll не работают со скаченной версией(5.28, а у меня из исходников собирается 5.29, хотя вероятнее всего не в этом дело).
Цитата:

1. В вашем случае линковщик отвалился так как версии zlib.h видимо разные.

Я скачивал deps и сам php для сборки по ссылкам со страницы, указанной в шапке, и вроде должно работать. С версией 5.3 кстати тоже самое.

А что насчет dll apache handler'а? Может я какие аргументы для создания makefile не передаю?
4. OrmaJever - 16 Мая, 2014 - 12:00:25 - перейти к сообщению
Edwvee пишет:
быстрее слегка

Я извиняюсь, вы собрались сервер на винде делать? Обычно на винде ставят php для разработки и тестов, про скорость там даже не задумываются, у вас как-то иначе? Закатив глазки
5. Edwvee - 16 Мая, 2014 - 12:28:15 - перейти к сообщению
OrmaJever пишет:
Edwvee пишет:
быстрее слегка

Я извиняюсь, вы собрались сервер на винде делать? Обычно на винде ставят php для разработки и тестов, про скорость там даже не задумываются, у вас как-то иначе? Закатив глазки

Просто интерес больше и немного удобство пользования(без акселератора все же скорость работы ниже комфортной).
6. OrmaJever - 16 Мая, 2014 - 12:33:09 - перейти к сообщению
а ниже комфортной это как? Какая скорость для вас комфортная? У меня большинство из мной написанного выполняется до 100мс, правда крупные движки сильно превышают эту цифру, но в целом особого дискомфорта никогда не было, на локалхосте отклик мгновенный.
7. Edwvee - 16 Мая, 2014 - 12:51:22 - перейти к сообщению
Хм, ну у меня все равно фреймворки используются, либо cms и даже на нормальном компе не то чтобы мгновенный отклик без акселератора, если файл не состоит из строки "<?php phpinfo();". На данном компьютере все немного хуже(сейчас с eAccelerator в среднем страница за 200ms выдается). Но это не суть вопроса)) В принципе польза может быть даже с того, что не все собранные экстеншены могут работать корректно или какие-то dll не найти, а тут возможность собрать самому. Мало ли, вдруг пригодится.

 

Powered by ExBB FM 1.0 RC1