
インストールしようとしていますhttps://github.com/arnaud-lb/php-memory-profilerFreeBSD 9.2 の場合
ペアインストール後http://pecl.php.net/get/memprof-1.0.0.tgz
このようなエラーが発生しました:
In file included from /usr/local/include/php/Zend/zend_compile.h:690,
from /usr/local/include/php/Zend/zend_modules.h:26,
from /usr/local/include/php/Zend/zend_API.h:26,
from /usr/local/include/php/main/php.h:38,
from /tmp/pear/memprof/memprof.c:19:
/usr/local/include/php/Zend/zend_vm_opcodes.h:168:7: warning: no newline at end of file
/tmp/pear/memprof/memprof.c:37:3: error: #error "ZTS build not supported (yet)"
/tmp/pear/memprof/memprof.c:114:3: warning: #warning No support for malloc hooks, this build will not track persistent allocations
/tmp/pear/memprof/memprof.c: In function 'memprof_zend_execute_internal':
/tmp/pear/memprof/memprof.c:695: error: too few arguments to function 'execute_internal'
/tmp/pear/memprof/memprof.c:697: error: too few arguments to function 'old_zend_execute_internal'
/tmp/pear/memprof/memprof.c: In function 'OnChangeMemoryLimit':
/tmp/pear/memprof/memprof.c:724: error: too few arguments to function 'zend_mm_set_heap'
/tmp/pear/memprof/memprof.c:726: error: too few arguments to function 'zend_mm_set_heap'
/tmp/pear/memprof/memprof.c: In function 'memprof_enable':
/tmp/pear/memprof/memprof.c:744: error: too few arguments to function 'is_zend_mm'
/tmp/pear/memprof/memprof.c:751: error: too few arguments to function 'zend_mm_set_heap'
/tmp/pear/memprof/memprof.c: In function 'memprof_disable':
/tmp/pear/memprof/memprof.c:773: error: too few arguments to function 'zend_mm_set_heap'
/tmp/pear/memprof/memprof.c: In function 'zm_startup_memprof':
/tmp/pear/memprof/memprof.c:899: error: too few arguments to function 'zend_register_functions'
/tmp/pear/memprof/memprof.c: In function 'zif_memprof_memory_get_usage':
/tmp/pear/memprof/memprof.c:1297: error: too few arguments to function 'zend_mm_set_heap'
/tmp/pear/memprof/memprof.c:1298: error: too few arguments to function 'zend_memory_usage'
/tmp/pear/memprof/memprof.c:1299: error: too few arguments to function 'zend_mm_set_heap'
/tmp/pear/memprof/memprof.c:1301: error: too few arguments to function 'zend_memory_usage'
/tmp/pear/memprof/memprof.c: In function 'zif_memprof_memory_get_peak_usage':
/tmp/pear/memprof/memprof.c:1317: error: too few arguments to function 'zend_mm_set_heap'
/tmp/pear/memprof/memprof.c:1318: error: too few arguments to function 'zend_memory_peak_usage'
/tmp/pear/memprof/memprof.c:1319: error: too few arguments to function 'zend_mm_set_heap'
/tmp/pear/memprof/memprof.c:1321: error: too few arguments to function 'zend_memory_peak_usage'
*** [memprof.lo] Error code 1
Stop in /tmp/pear/pear-build-ranielrLVRCS/memprof-1.0.0.
ERROR: `make' failed
その他の pecl、php モジュールおよび拡張機能は問題ありません。Debian wheezy でのインストールも問題ありません。FreeBSD に問題があるのでしょうか?
答え1
memprof.c:37:3: エラー: #error "ZTS ビルドはサポートされていません (まだ)"
memprof は PHP の ZTS ビルドをサポートしていません。つまり、PHP はオプション付きでビルドされており--enable-maintainer-zts
、memprof はこれをサポートしていません。
PHP は--enable-maintainer-zts
スイッチなしでビルドする必要があります。このスイッチは、スレッド化されたサーバーで PHP をサーバー モジュールとして使用する場合 (Apache のワーカー mpm 内の mod_php など) にのみ必要ですが、これは推奨されません。