Форум → Программирование → PHP для идиотов → Расширения PHP → самописное расширение на C++
самописное расширение на C++
Страницы: ← Предыдущая страница →
-
4 августа 2010 г. 14:05, спустя 2 часа 59 минут 3 секунды
в консоли наконец-то заработал hello_world();
а вот на странице он работать не хочет
#include делать надо в php коде??
или ф-ция из подгруженного модуля видна везде? -
4 августа 2010 г. 20:14, спустя 6 часов 8 минут 16 секунд
если расширение загружено пыхой, то функции/классы, объявленные в расширении должны быть видна отовсюдуWork, buy, consume, die -
5 августа 2010 г. 11:55, спустя 15 часов 41 минуту 46 секунд
у меня почему-то разные настройки для php, который в консоли и для php, который использует apache…
(смотрела по phpinfo)
как такое может быть и как с этим бороться?
+мне нужны переменные окружения из shell, если запускать браузер изх консоли - не помогает -
5 августа 2010 г. 13:28, спустя 1 час 32 минуты 46 секунд
и ещё у меня проблемы с подключением библиотек:
директории к *.so я указала
в config.m4 прописала
PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $LIBDIR, HAVE_HELLO)
PHP_ADD_LIBRARY(qt-mt, 1, HAVE_HELLO)
PHP_ADD_LIBRARY( qui, 1, HAVE_HELLO)
такое впечатление, что не указана INCLUDEPATH
при выполнении make тоже никаких признаков подключения библиотек… -
5 августа 2010 г. 16:53, спустя 3 часа 24 минуты 34 секунды
всё, с библиотеками разобралась вроде бы…
теперь неожиданно возникла ошибка, которой раньше не было
char* hello_world()
{
return "hello_world!";
}
PHP_FUNCTION(hello_world)
{
// return char*;
RETURN_STRING(hello_world(),1);
}
ругается вот так:
/home/kate/develop/php_hello/hello.cpp:28: warning: deprecated conversion from string constant to 'char*'
/home/kate/develop/php_hello/hello.cpp: In function 'void zif_hello_world(int, zval*, zval**, zval*, int)':
/home/kate/develop/php_hello/hello.cpp:37: error: 'hello_world' was not declared in this scope -
5 августа 2010 г. 21:00, спустя 4 часа 7 минут 18 секунд
у меня почему-то разные настройки для php, который в консоли и для php, который использует apache…
незнаю какой у вас дистрибутив линукса, но в убунту php-cli и для модуля апача php имеет разные конфиги
(смотрела по phpinfo)
как такое может быть и как с этим бороться?+мне нужны переменные окружения из shell, если запускать браузер изх консоли - не помогает
дак естественно, пхп то запущен как модуль апача/home/kate/develop/php_hello/hello.cpp:28: warning: deprecated conversion from string constant to 'char*'
юзаете преобразование типов корявое из const char* в char*, сама функция кривая короче, нельзя так делать: return "hello_world!"; (черевато либо утечками памяти либо чтением из чужого адресного пространства)/home/kate/develop/php_hello/hello.cpp:37: error: 'hello_world' was not declared in this scope
функцию не объявили? воткните в заголовочный файл куда-нибуть char* hello_world(); чтобы цпп узнал, что такая функция есть, а то чейчас у вас только реализация функции есть, а её объявления нет.Work, buy, consume, die -
6 августа 2010 г. 0:16, спустя 3 часа 15 минут 43 секунды
юзаете преобразование типов корявое из const char* в char*, сама функция кривая короче, нельзя так делать: return "hello_world!"; (черевато либо утечками памяти либо чтением из чужого адресного пространства)/home/kate/develop/php_hello/hello.cpp:37: error: 'hello_world' was not declared in this scope
функцию не объявили? воткните в заголовочный файл куда-нибуть char* hello_world(); чтобы цпп узнал, что такая функция есть, а то чейчас у вас только реализация функции есть, а её объявления нет.
объявление ф-ции в заголовочном файле есть, просто здесь не приведено
с const char* пробовала - история та же
странно, но до подрубания либ это работало… -
9 августа 2010 г. 12:44, спустя 3 дня 12 часов 27 минут
у меня почему-то разные настройки для php, который в консоли и для php, который использует apache…
(смотрела по phpinfo)
как такое может быть и как с этим бороться?
незнаю какой у вас дистрибутив линукса, но в убунту php-cli и для модуля апача php имеет разные конфиги
посмотрела файлы php.ini и там и там, они идентичные
где ещё искать различия?
Страницы: ← Предыдущая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!