2011-01-23 12 views
1

I m trying to compile phpurple. Iメートルのマニュアルに従って、すべてをやっ: hxxp://phurple.php.belsky.info/ch02.htmlphpurpleはエラーコンパイル - PHP 5.3

のが、 "作る" は私にエラーを与える:


hxxp://www.mail-archive.com/ [email protected]/msg05515.html
hxxp:
/myhomedir/phpurple/purple.c: In function ‘call_custom_method’: 
/myhomedir/phpurple/purple.c:1370: error: ‘zend_fcall_info’ has no member named ‘object_pp’ 
/myhomedir/phpurple/purple.c:1408: error: ‘zend_fcall_info_cache’ has no member named ‘object_pp’ 

I`veは、同じ問題を持つ他の人を見つけ// belsky .info/archives/23 -Pururple-per-se-PHPurple.html

誰も成功したPHP 5.3ビルドに関するすべての情報を与えないとのメッセージ

PROJECT IS CLOSED
if you want commercial support for php 5.3, let me know ...)


はまったく役に立ちません。

誰かがそれをコンパイルする方法や問題を解決する手がかりがありますか?

P.S.リンクについては申し訳ありません、いくつかの奇妙なStackOverflowの制限が

+0

phpurple内部APIがphpurpleと互換性がないように変更されたようです。問題はphpurpleのソースコードを更新することによってのみ修正できます。 – arnaud576875

+0

あなたの評判が低すぎるためリンクを追加できません。 –

答えて

1

phpurplerequirementsによると:

Please let me know, if you've successfully compiled on 
earlier versions. Actually the extension is being developed 
on the php v5.2.6 with the option to be upcomming php v5.3 
compatible. 

著者は、そのソースを更新する必要があります。ただし、ソースがあるので、プロジェクトがクローズドであることに気づいたので、自分で更新することができます。また、コードをフォークして、PHP 5.3をサポートする独自のgitHubプロジェクトを作成することもできます。

幸運。

1

あなたが見ているのは、PHPのシフティインターフェイスです(私はと言って、と言っています)。これによって、関数プロトタイプはバージョンごとに変更されることになります。

int foo_call_bar(const char *foobar, size_t len); 

そして何かの以降のバージョンでは、機能は、このようにプロトタイプで第二の可変をなくす、動的に長さを計算します:このメタ例取る

int foo_call_bar(const char *foobar); 

をいくつかのプロジェクトが常に逆方向に維持するために努力しますこの頭痛を和らげるための互換性は、len変数で新しい実装をプロトタイプ化するプリプロセッサディレクティブで実現できますが、何もしないでください。 PHPがそれをした場合、コードベースはさらに狂ったものになります。

残念ながら、phpurpleを修正して正しいPHP関数の正しい引数を提示し、それらが適切なタイプであることを確認する必要があります。これはやりがいのあることですが、恐らくそれほど難しくはありません。

LinuxカーネルのVFSインターフェイスは同じ方法ですが、私はしばしば、古い実験的ファイルシステムを移植して最新のカーネルで作業することを任されています。

0

を見ますが、ここでPHP 5.3で動作する最新のライブラリです:

新しいプロジェクトページは次のとおりです。http://sourceforge.net/projects/phurple

ブログ投稿:http://belski.net/archives/23-Phurple-per-se-PHPurple.html

私がそれを遵守してから問題を起こしたphp.ini設定に電子拡張子:

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/phurple.so' - /usr/lib/php/modules/phurple.so: undefined symbol: ZVAL_ADDREF in Unknown on line 0 

この問題を解決するには、

ZVAL_ADDREF(PHURPLE_G(phurple_client_obj)); 

から

Z_ADDREF_P(PHURPLE_G(phurple_client_obj)); 
0

まあ、新しいURLは、f PHP-5.3以降にixesしてください。多分それは言及されるべきですが、それはとにかくそれをチェックアウトするのに役立つことはありません。私にとってはうまくいったので、試してみる価値があると言います。

+0

男は新しいリリースを発表しました、ここを見てくださいhttp://belski.net/archives/37-Phurple-for-PHP-5.3-and-up.html PHP 5.4は私にとってはうまく見えますが、 。 – Maximilian