4

私はすでに次のことをしました:

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.iniPHPの拡張ライブラリにGTkライブラリをロードするように編集しextension=php_gtk2.so、保存しました。

確認すると、静的ライブラリが原因である可能性があると想定しているphp -mような1つのエラーが見つかりました。Unable to Load Dynamic Library ../../php_gtk2.sophp_gtk2.so

では、どうすればロードできますか?私がどこで間違えたのか考えてみませんか?

私は、、で実行してCentOS 6.0 ServerPHP 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あり、フォーラムの誰かがその方法を教えてくれたので、それをクリアしました。正常にインストールできcairoました。しかし、今、これはどうですか!

4

2 に答える 2

1

したがって、SVNからインストールしました。しかし、コンパイルされたバイナリには、シンボルを見つけるのに問題がありますphp_cairo_get_context_ce

モジュール リストには、 cairo 拡張機能がインストールされていないことが示されています。

それをインストールして、php-gtk の前にロードします。

于 2011-12-31T23:10:38.620 に答える
0

ubuntuでも同じ問題に直面しました。それを修正するために私がしたことは

  1. ディレクトリ/usr/lib/php5/ 20121212 内のファイルphp_gtk2.socairo.soのパーミッションを644に変更しました。以前は777でした。パスの最後の番号は、私が知らない他のシステムでは異なる場合があります。
  2. ファイルを更新しました動的拡張sudo gedit /etc/php5/cli/php.iniという名前のセクションにこれら 2 つのモジュールのエントリを追加しました

    extension= /usr/lib/php5/20121212/cairo.so extension= /usr/lib/php5/20121212/php_gtk2.so

順序に注意してください。cairo.soが最初のものでなければなりません。以前のphp_gtk2.soは、私が信じているエラーを引き起こした最初のものでした。

  1. 最後に、コマンドを使用して端末からディレクトリphp-gtk-srcからデモを実行することができました$ php demos/phpgtk2-demo.php

それが役に立てば幸い :)

于 2015-12-21T17:07:07.793 に答える