Как скомпилировать PHP расширение в Windows

!Dron

Новичок
Добрый день.
Сделал расширение для PHP, как указано в примере из интернета.
Далее: как его скомпилировать в Windows 7? Всё то, что предлагается в интернете - какой-то шлак из древних версий PHP. Например папки dev вообще не существует...

У меня:
Исходные коды и сам PHP - версия 7.0.8.
ОС: Windows 7
IDE: CLion

Визуальную студию не использую.

Помогите, плз. Какова последовательность шагов?
 

!Dron

Новичок
Это читать: Building PECL extensions?
Фуфло неработающее.

Я же говорю, укажите, пожалуйста, последовательность шагов.

А что скажите по поводу библиотеки PHP-CPP?
 
Последнее редактирование:

Vano

Новичок
А что не так? Опишите проблему
- Какой виндовс сервис пак
- Какой процессор
- Какая видеокарта
- Какой интернет провайдер
- Какая разрядность архитектуры виндовса
- Какой винчестер
- PHP сколько знаете?
- Распечатайте ошибку
- Сфотографируйтесь в зеркале пришлите фото
- Пивко пьёте?

Возможно ответ на ваш вопрос уже есть здесь: http://phpclub.ru/talk/search/17478050/?q=как+скомпилировать+расширение&o=date

PS( это шутеечка )
 

!Dron

Новичок
Как собрать PHP-CPP на Windows? Руками все файлы ему подсунул, а он пишет: error: #error "No suitable 16bit integer type found".
 

!Dron

Новичок
Так ладно. Может знаете как делать:
При выполнении команды
Код:
configure --disable-all --enable-cli --enable-snapshot-build
выходит это:
Код:
Creating build dirs...
D:\Documents\C++\PHP\phpdev\vc14\x64\php-7.0.8-src\configure.js(1770, 3) Ошибка
выполнения Microsoft JScript: Неизвестный числовой показатель
Что ему не так?
До этого шага сделал все так, как написано.

Студия номер 15. PHP x64.
 

fixxxer

К.О.
Партнер клуба
Я php под винду собирал 1 раз в жизни по большой нужде и это было лет 8 назад, все было сложно и я подпихивал костылики и подпорки по ходу дела, не особо понимая, что делаю, методом научного тыка, но как-то собрал. И забыл.
Думаю большинство тут присутствующих (если не все) не делали этого вообще никогда, да и надо иметь очень веские причины чтобы этим заниматься.
Если совсем не получается, там вот пишут, что есть IRC-канал winphp-dev, может быть тогда имеет смысл там помощи попросить.
 

!Dron

Новичок
Это все туфта. Там же первая ссылка - эта самая неработающая инструкция. Зачем подобный бред вообще пишут - не понятно.
И как тогда делать расширения на PHP? На винде.

Может кто-нибудь поделиться готовой библиотекой PHP-CPP. А то она ни на Windows 7, ни на Linux не компилируется. Там тоже, инструкция эта http://www.php-cpp.com/documentation/install такая же брехня. Например не найден php.h. Ну а его там по факту и нет.
Или вот: в файле C:/PROGRA~2/mingw32/i686-w64-mingw32/include/_mingw.h на строке 245 ошибка -
error: expected unqualified-id before '__int128' typedef int __int128 __attribute__ ((__mode__ (TI)));

Сиди гадай, что не так.
 

AnrDaemon

Продвинутый новичок
Что вы на нас свои отходы вываливаете? Мы PHP используем, а не создаём. Есть багтрекер, туда и жалуйтесь, что документация не соответствует действительности.
 

fixxxer

К.О.
Партнер клуба
Может кто-нибудь поделиться готовой библиотекой PHP-CPP. А то она ни на Windows 7, ни на Linux не компилируется.
Под линуксом отлично собирается. Должен быть установлен пакет для разработки php (с заголовками php и прочими phpize), обычно называется наподобие php-dev, и собирать надо достаточно современным компилятором, который полноценно умеет в c++11.
 

!Dron

Новичок
Расширения работают быстрее чем код PHP. PHP - это обертка вокруг С (или С++). Тем более серьезные проекты на PHP не напишешь. Перегрузки нет, оптимизации нет, шаблонов нет, указателей нет... Однако все это можно получить, если писать код в расширении к PHP.
Должен быть установлен пакет для разработки php (с заголовками php и прочими phpize), обычно называется наподобие php-dev, и собирать надо достаточно современным компилятором, который полноценно умеет в c++11.
Так вот эту самую важную информацию программисты PHP-CPP и не указали. Т.е. просто скачать исходники PHP под Linux и все? Я Linux не пользуюсь, поэтому спрашиваю. Если Вы компилировали данную библиотеку, можете, пожалуйста, описать процесс?
 

fixxxer

К.О.
Партнер клуба
Если Вы компилировали данную библиотеку, можете, пожалуйста, описать процесс?
На примере убунты.
Предварительно должны быть установлены компиляторы и прочие автотулзы, можно это сделать установив пакет build-essential. Если убунта древняя (12-я, скажем) и штатный gcc не поддерживает c++11, надо установить что поновее.
Дальше все просто:
sudo apt-get install php5-dev # для php5, в php7 пакет вроде называется php7.0-dev - ну или php7-dev, это смотря откуда его брать
git clone https://github.com/CopernicaMarketingSoftware/PHP-CPP.git
cd PHP-CPP
make

В общем то в любом дистрибутиве одинаково, отличается только способ установки компиляторов и пакета php-dev.
 

Sufir

Я не волшебник, я только учусь
Расширения работают быстрее чем код PHP. PHP - это обертка вокруг С (или С++). Тем более серьезные проекты на PHP не напишешь. Перегрузки нет, оптимизации нет, шаблонов нет, указателей нет... Однако все это можно получить, если писать код в расширении к PHP.
В таком случае зачем тебе вообще PHP? Просто пиши на С.
 

Adelf

Administrator
Команда форума
Серьезные проекты... на винде он для серьезного проекта собирает PHP-расширение... и не может собрать. И уж конечно без указателей никуда... реально - пиши на си. Зачем взял то, чего не можешь понять.
 

hell0w0rd

Продвинутый новичок
facebook, vk, ***** и еще тысячи серьезных проектов используют php. И именно для твоего кейса надо писать бизнес-логику в расширениях?))
 
Сверху