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 MonthJul 2025Next 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

122 user(s) are online (12 user(s) are browsing xpwiki)

Members: 0
Guests: 122

more...

Access Counter

Today : 8499849984998499
Yesterday : 2172621726217262172621726
Total : 2733867727338677273386772733867727338677273386772733867727338677
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com