我已经做了以下工作:
Installed PHP 5.3.3
Installed GTK 2.0.1
Installed the latest version of php-gtk from svn
All dependencies are resolved and installed.我编辑了php.ini,将GTk库加载到extension=php_gtk2.so扩展库中,并将其保存。
如果我检查一下php -m,我会发现一个与Unable to Load Dynamic Library ../../php_gtk2.so类似的错误,我假设它可能是因为php_gtk2.so是一个静态库。
那我怎么装呢?知道我在哪里搞错了吗?
我在跑CentOS 6.0 Server,PHP 5.3.3,GTK 2.0.1
edit:具体问题如下:
[root@srv-vg phpapps]# php -m
PHP Warning: PHP Startup: Unable to load dynamic library
'/usr/lib/php/modules/php_gtk2.so' -
/usr/lib/php/modules/php_gtk2.so:
undefined symbol: php_cairo_get_context_ce in Unknown on line 0
[PHP Modules]
apc
bz2
calendar
Core
ctype
curl
date
dom
ereg
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
json
ldap
libxml
memcache
mysql
mysqli
odbc
openssl
pcntl
pcre
PDO
pdo_mysql
PDO_ODBC
pdo_pgsql
pdo_sqlite
pgsql
Phar
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
tokenizer
wddx
xml
xmlreader
xmlrpc
xmlwriter
xsl
zip
zlib
[Zend Modules]正如hakre所说,我尝试通过添加cairo extension文件来加载cairo.ini。但现在它也出现了这样的错误
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/cairo.so' - /usr/lib/php/modules/cairo.so: undefined symbol: cairo_ce_cairosubsurface in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/php_gtk2.so' - /usr/lib/php/modules/php_gtk2.so: undefined symbol: php_cairo_get_context_ce in Unknown on line 0
[PHP Modules]edit2:
当我安装cairo时,cairo_surface.c中有一个bug,我清除了它,论坛上的一个人告诉我怎么做。我可以成功地安装cairo。但是现在,这个呢!!
发布于 2011-12-31 23:10:38
你是从SVN安装的。但是,在编译的二进制文件中,要找到符号php_cairo_get_context_ce有一个问题。
模块列表显示您没有安装开罗扩展。
安装它并在php之前加载它。
发布于 2015-12-21 17:07:07
我在ubuntu也面临过同样的问题。我为解决这个问题所做的就是
sudo gedit /etc/php5/cli/php.ini,在动态扩展一节中添加了这两个模块的条目
extension= /usr/lib/php5/20121212/cairo.so extension= /usr/lib/php5/20121212/php_gtk2.so请注意订单,cairo.so必须是第一个。早期的php_gtk2.so是第一个导致错误的原因,我相信。
$ php demos/phpgtk2-demo.php -gtk-src中的演示。希望它有帮助:)
https://stackoverflow.com/questions/8677860
复制相似问题