Эта тема на forum.dklab.ru


Woodo: PHP custom extensions
Привет всем,

Нужна помощ, как сделат самому extension для PHP? Ест код написанный на С не как не смог скомпилировать так чтобы потом использовать его в PHP... может подскажите как мне етого добится?
Дмитрий Котеров:
Вот это довольно сложно. Я думаю, Вам придется не один день провести за чтением документации PHP, а также на сайте http://zend.com. также может помочь просмотр уже написанных расширений и создание собственного по аналогии (возьмите какое-нибудь самое простое).

У Вас знание Си на каком уровне?
Woodo:
Дмитрий Котеров:

Спасибо

У Вас знание Си на каком уровне?

На елемементарном уровне.

(возьмите какое-нибудь самое простое).

Дастал статю где описан сам процесс компиляции, вроде все нормально но во время компиляции выдает ошибку fatal error C1083: Cannot open include file: 'strings.h': No such file or directory...
Алексей Пешков:
Если у Вас нет рабочего кода на C, то и интегрировать нечего. :)
Ramzes:
Woodo:
А вы как инклюдили?
include <strings.h>
Вы могли вместо угловых скобок поставить кавычки...
Дмитрий Котеров:
Cannot open include file: 'strings.h':
Ну, знаете... Если Вы с такой ошибкой не можете разобраться, лучше даже и думать забудьте про модули для PHP. Я так думаю.
Woodo:
Ну, знаете... Если Вы с такой ошибкой не можете разобраться, лучше даже и думать забудьте про модули для PHP. Я так думаю.

:) :)

Да нелепая ошыбка, но уже исправил... кроме ето с помошю www.php.net и етой статьи http://www.devarticles.com/c/a/C++/Developing-Custom-PHP-Extensions-Part-1 смог скомпилировать мой С код... все компилируется и DLL тоже получил но есть проблема

1. во время компиляации есть 2 ворнинга
d:\php-4.2.1\Zend\zend_execute.h(110) : warning C4311: 'type cast' : pointer truncation from 'void *' to 'ulong'
d:\php-4.2.1\Zend\zend_execute.h(122) : warning C4311: 'type cast' : pointer truncation from 'void *' to 'ulong'

2. DLL не работает, когда запускаю сервер, Apache выдает сообшение.
Unknown(): Invalid libray (maybe not a PHP library) 'php_testmod.dll'
Юрий Насретдинов:
Invalid libray (maybe not a PHP library)
Ну в таком случае Вы точно где-то напортачили. Советую долго и упорно читать манул вплоть до полного просветления
Дмитрий Котеров:
warning C4311: 'type cast' : pointer truncation from 'void *' to 'ulong'
Это, наверное, мелочь, можете не обращать внимание.

Invalid libray (maybe not a PHP library) 'php_testmod.dll'
А вот это уже серьезнее. Что-то Вы все же забыли сделать. Следуйте в точности инструкциям из документации.
Anonymous:
yUAC:
Дмитрий Котеров:

Спасибо...

Все сделал, все работает прекрасно. :)
Woodo:
Извените гость это я :)

Эта тема на forum.dklab.ru