среда разработки
1.win 7 32-bit
2.Visual Studio 2019 (установлены компоненты для настольной разработки с использованием C++)
Подготовка
1.php-sdk-binary-tools(v2.1.9)
2.php源码(v8.0.17)
3.php x86 Non Thread Safe (v8.0.17)
Сделать компоненты
1. Сгенерируйте исходный код компонента
cd php-8.0.17-src/ext // 进入php源码的ext目录
php ext_skel.php --ext myext // 生成组件源码
2. Откройте среду компиляции
cd php-sdk2.1.9 // 打开生成组件工具
phpsdk-vc15-x86.bat // 运行工具
3. Генерация компонентов
buildconf
configure --disable-all --enable-cli --enable-myext=shared --disable-zts
nmake
Здесь необходимо объяснить два момента: один из них —enable-myext=shared, причина, по которой общий доступ заключается в создании отдельного файла dll с общим доступом, а другой —disable-zts — это компонент dll, который генерирует небезопасные файлы. потоки.
На данный момент сгенерирован компонент php_myext.dll, в php-8.0.17-src\Release, если не добавить --disable-zts, он будет в Release_TS.
тестовый компонент
1. Откройте php-8.0.17-nts-Win32-vs16-x86
2. Скопируйте php_myext.dll в каталог ext
3. Измените php.ini-production на php.ini и измените следующие параметры.
extension_dir = "ext"
extension=myext
4. Создайте новый тестовый файл test.php
$myext = extension_loaded('myext');
var_dump($myext);
test1();
$res = test2();
var_dump($res);
5. Успешен ли тест
./php test.php
Все вышеперечисленные каталоги основаны на php-8.0.17-nts-Win32-vs16-x86.
Меры предосторожности
1. Разные версии PHP соответствуют разным Visual Studio.
Visual C++ 14.0 (Visual Studio 2015) for PHP 7.0 or PHP 7.1.
Visual C++ 15.0 (Visual Studio 2017) for PHP 7.2, PHP 7.3 or PHP 7.4.
Visual C++ 16.0 (Visual Studio 2019) for master.
После завершения установки не забудьте установить компонент "Desktop Development with C++". Не забудьте выбрать Visual Studio в соответствии с версией разработки php, иначе сгенерированные компоненты будут недоступны.
2. Выбор php-sdk-binary-tools
Текущая последняя версия — 2.2+ Причина выбора 2.1.9 заключается в том, что для версии выше 2.2 требуется 64-разрядная операционная система.
справочная ссылка
1. Создайте свой собственный PHP для Windows
2. PHP для Windows
3. php-sdk-binary-tools
4. Visual Studio 2019