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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сборка php под windows

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Edwvee
Отправлено: 15 Мая, 2014 - 15:43:42
Post Id


Частый гость


Покинул форум
Сообщений всего: 195
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




Конфа: 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?

(Отредактировано автором: 15 Мая, 2014 - 15:47:23)

 
 Top
valenok Модератор
Отправлено: 15 Мая, 2014 - 17:55:21
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Edwvee пишет:
Конфа: win xp, ms vs 2008, win sdk 6.1. Собирал 5.4.

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

1. В вашем случае линковщик отвалился так как версии zlib.h видимо разные.
2. Если открыть получившийся makefile то в нем можно будет найти CFLAGS (compiler flags) и дописать туда O2. Обычно О2 там уже стоит.


-----
Truly yours, Sasha.
 
My status
 Top
Edwvee
Отправлено: 16 Мая, 2014 - 09:23:11
Post Id


Частый гость


Покинул форум
Сообщений всего: 195
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




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

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

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

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

А что насчет dll apache handler'а? Может я какие аргументы для создания makefile не передаю?
 
 Top
OrmaJever Модератор
Отправлено: 16 Мая, 2014 - 12:00:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Edwvee пишет:
быстрее слегка

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


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Edwvee
Отправлено: 16 Мая, 2014 - 12:28:15
Post Id


Частый гость


Покинул форум
Сообщений всего: 195
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




OrmaJever пишет:
Edwvee пишет:
быстрее слегка

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

Просто интерес больше и немного удобство пользования(без акселератора все же скорость работы ниже комфортной).
 
 Top
OrmaJever Модератор
Отправлено: 16 Мая, 2014 - 12:33:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




а ниже комфортной это как? Какая скорость для вас комфортная? У меня большинство из мной написанного выполняется до 100мс, правда крупные движки сильно превышают эту цифру, но в целом особого дискомфорта никогда не было, на локалхосте отклик мгновенный.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Edwvee
Отправлено: 16 Мая, 2014 - 12:51:22
Post Id


Частый гость


Покинул форум
Сообщений всего: 195
Дата рег-ции: Июнь 2013  


Помог: 1 раз(а)




Хм, ну у меня все равно фреймворки используются, либо cms и даже на нормальном компе не то чтобы мгновенный отклик без акселератора, если файл не состоит из строки "<?php phpinfo();". На данном компьютере все немного хуже(сейчас с eAccelerator в среднем страница за 200ms выдается). Но это не суть вопроса)) В принципе польза может быть даже с того, что не все собранные экстеншены могут работать корректно или какие-то dll не найти, а тут возможность собрать самому. Мало ли, вдруг пригодится.

(Отредактировано автором: 16 Мая, 2014 - 12:53:14)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB