flagflag  
1: 2019-08-16 (Fri) 14:26:19 iseki source Cur: 2023-08-15 (Tue) 20:34:12 iseki source
Line 1: Line 1:
-* PHP 関数拡張 [#qf39fc61]+* [[PHP]] 関数拡張 [#qf39fc61] 
 + 
 +** Trouble Shooting [#pa1bbfc2] 
 + 
 +**** dl() でモジュールを呼んでくれない [#v9ecf83f] 
 +- php.ini で enable_dl = On とする. 
 +#br 
 + 
 +**** php.ini の設定が反映されない [#df20ad07] 
 +- php -i |grep php.ini  で PHPが実際に読み込んでいる php.ini を調べる 
 +- PHPが WWWサーバのモジュールとしてではなく,php-fpm で動いている場合は,php-fpm を再起動する必要がある. 
 + systemctl restart php-fpm 
 +#br 
 + 
 +** Tips [#u0ea17f1] 
 +**** 有効な php.ini を探す [#h1f68dea] 
 + php --ini|grep php.ini 
 +#br 
 + 
 +*** 実装例 [#h9cb3f05] 
 +- http://www.nsl.tuis.ac.jp/svn/linux/auth​d/trunk/php 
 +#br 
 + 
 +** PHP8 [#q6c5e82f] 
 +*** xmlrpc [#ecdf43d3] 
 +- PHP8 で標準から外れる 
 +#br 
 + 
 +**** ソースからコンパイルする場合は [#hc3b8ad3] 
 + --with-xmlrpc 
 +#br 
 + 
 +**** パッケージに入れる場合 [#m25cb934] 
 + yum install php-pear 
 + yum install php-devel 
 + pecl search xmlrpc 
 + pecl install xmlrpc (エラー) 
 + pecl install channel://pecl.php.net/xmlrpc-1.0.0RC3 
 + vi /etc/php.ini          (add 
 +     extension = xml.so 
 +     extension = xmlrpc.so 
 + systemctl restart php-fpm 
 +  
 +- undefined symbol: php_XML_GetCurrentColumnNumber のエラー 
 +-- php.ini に  extension = xml.so を追加 
 +#br 
** PHP7 [#jae4f806] ** PHP7 [#jae4f806]
 +
 +*** サンプル実行 [#t033cc47]
 +
 +**** PHP と 拡張機能(サンプル)をコンパイル [#w67d381b]
 + cd [php-dorce-dir]
 + cd ext
 + ./ext_skel --extname=ext_test
 + vi ext_test/config.m4  L10-13をコメントアウト(--with-ext_test 関連)
 + cd ..
 + ./buildconf --force
 + ./configure --with-ext_test
 + make
 +
 +**** 実行 (テスト) [#u6310e48]
 +-  ./sapi/cli/php -f ext/ext_test/ext_test.php
 +-- ''Congratulations! You have successfully modified ext/ext_test/config.m4. Module ext_test is now compiled into PHP.'' が表示されればOK
 +#br
 +
 +**** モジュール (ext_test.so) を作る [#td1b6526]
 + cd ext/ext_test
 + phpize
 + ./configure
 + make
 +
 +- ./modules/ext_test.so ができる
 +#br
 +
** PHP5 [#v5b55d7d] ** PHP5 [#v5b55d7d]
 +*** サンプル実行 [#m6b6e697]
 +
 +**** PHP のコンパイル [#g4318478]
 + cd [php-dorce-dir]
 + ./configure
 +  make
 +
 +**** 拡張機能(サンプル)をコンパイル [#u739f526]
 + cd ext
 + ./ext_skel --extname=ext_test
 + cd ext/ext_test
 + config.m4  L10-13をコメントアウト(--with-ext_test 関連)
 + phpize
 + ./configure
 + make
 +
 +**** 実行 (テスト)[#j1177a63]
 +- モジュール(/modules/ext_test.so)を所定のディレクトリにコピー後: php ext_test.php
 +- または: php -d extension_dir=./modules ext_test.php
 +-- ''Congratulations! You have successfully modified ext/ext_test/config.m4. Module ext_test is now compiled into PHP.'' が表示されればOK
 +#br
 +*** Extensions [#j43576e9]
 +- [[Sodium>./Sodium]]
 +#br


Front page   New List of Pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthMay 2024Next Month
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today

Who's Online

47 user(s) are online (26 user(s) are browsing xpwiki)

Members: 0
Guests: 47

more...

Access Counter

Today : 3138313831383138
Yesterday : 8048804880488048
Total : 2367269923672699236726992367269923672699236726992367269923672699
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com