internals:windows:todocumentdev

This is an old revision of the document!


Crossplatform APC debugging

Linux/Unix

Preparing the workspace

# prepare the folder structure

  • mkdir ~/ws
  • mkdir ~/ws/src
  • mkdir ~/ws/root

# checkout required php versions

# or see that you have the correct autoconf version

  • export AUTOCONF=“/usr/bin/autoconf2.59”
  • export CFLAGS=“-g3 -O0 -Wall”
  • export CPPFLAGS=$CFLAGS
  • cd php-5.4-ts
  • ./buildconf

# this is the minimal configure

  • ./configure --prefix=/home/user/ws/root/php-5.4-ts --disable-all --enable-debug --with-regex=php --enable-cli --enable-cgi --with-config-file-path=/home/user/ws/root/php-5.4-ts/etc/php.ini --enable-maintainer-zts
  • make
  • make install
  • mkdir /home/user/ws/root/php-5.4-ts/etc
  • cp php.ini-development /home/user/ws/root/php-5.4-ts/etc/php.ini

# edit the php.ini and add the APC there extension=apc.so

  • cd php-5.4-ts
  • ./buildconf

# this is the minimal configure

  • ./configure --prefix=/home/user/ws/root/php-5.4-nts --disable-all --enable-debug --with-regex=php --enable-cli --enable-cgi --with-config-file-path=/home/user/ws/root/php-5.4-nts/etc/php.ini --enable-maintainer-zts
  • make
  • make install
  • mkdir /home/user/ws/root/php-5.4-ts/etc
  • cp php.ini-development /home/user/ws/root/php-5.4-ts/etc/php.ini

# edit the php.ini and add the APC there extension=apc.so

# now we have two separate ts and nts environments, go ahead with apc

Building APC

# for the ts version just give another php-config

  • cd ~/ws/src/apc
  • CFLAGS=“-g3 -O0 -Wall” ./configure --enable-apc --disable-apc-pthreadmutex --enable-apc-pthreadrwlocks --with-php-config=/home/user/dws/root/php-5.4-nts/bin/php-config
  • make
  • make install

# this way we can quickly switch to test with different php versions

Debugging APC

# running tests

  • make test TESTS=-m

# testing a simple php script

  • ZEND_DONT_UNLOAD_MODULES=1 valgrind --leak-check=full ~/dws/root/php-5.4-nts/bin/php -n -d extension_dir=.libs/ -d extension=apc.so -d apc.enable_cli=1 -d apc.stat=0 mytest.php

# using gdb

  • ZEND_DONT_UNLOAD_MODULES=1 gdb --args ~/dws/root/php-5.4-nts/bin/php -n -d extension_dir=.libs/ -d extension=apc.so -d apc.enable_cli=1 -d apc.stat=0 -d apc.file_md5 test.php

Windows

Preparing the workspace
Building APC

TODO

Debugging APC

TODO

internals/windows/todocumentdev.1332365538.txt.gz · Last modified: 2017/09/22 13:28 (external edit)