[resolved] PHP doesn't see dbg module |
Site Admin
|
first try to run ls -la /usr/lib/php/modules/dbg.so-5.2.x and make sure it lists the file (if it does not, you have to fix path in php.ini) if it lists the file but still you don't get it loaded, check path to php.ini shown in phpinfo and make sure that it's the file you've edited. Finally check apache error_log (normally found in /var/log/httpd/error_log) |
||||||||||||||
_________________ The PHP IDE team |
|
all the file paths are ok, its loading the right php.ini file. the file names are correct.
Nothing unusaul in error logs either. Forgot to mention this but it shouldn;'t make any difference, i'm trying to get it to work in a subdomain. it has me stumped. |
||||||||||||
|
Site Admin
|
You can't have different modules loaded for a subdomain. When Apache lanches and initializes its chilren processes for further processing HTTP requests, it's not known what subdomain the requests will come for. Master process assigns them dinamically and for example if a particualr child [1003] has just processed subdomain#1, next time it can handle subdomain#2 and so forth. It can't change loaded modules dynamically according to the subdomain it's supposed to handle. Only settings such as "debugger.enabled" can be made dynamic and they are often dynamic. So, list of loaded php extensions and apache modules is a contant for all subdomains. In this situation your can follow one of the 3 possible ways: 1) install and run seaprated Apache daemon to handle subdomains that need different set of apache modules and/or php extensions 2) run php as a CGI handler (not as php4apache module) and have different php and php.ini for different subdomains 3) have debugger loaded as is, disable it by default in php.ini and have it enabled for a particular subdomain (or subdomains). 1 - is the hardest way 2 - is the most flexible but will slow down the system 3 - is the simpliest way |
||||||||||||||
_________________ The PHP IDE team |
|
sorry dmitri,
didn't quite make myself my clear, i have the modules in the right places etc and i do want the debugger work for any subdomain. Due to the VM setup i can't place the dbg-setup php file into the domain root so it has to into a subdomain. Any more ideas? |
||||||||||||
|
Site Admin
|
I'm not sure what dbg-setup you mean. Standard php distro has no subdomain-specific configuration files. Is it something from your Web or OS?
In any case, there are TWO places where you can add zend_extension=/path/to/dbg.so 1st is main php.ini which is normally located in /etc directory (check Configuration File (php.ini) Path line in the phpinfo output) 2nd is config file(s) that php loads as part of php.ini (see Scan this dir for additional .ini files line in phpinfo output) |
||||||||||||
_________________ The PHP IDE team |
|
when I said dbg-setup i meant the dbg-wizard.php file.
I have checked the other potential location for a config file and its emtpy This is what phpinfo says... PHP Version 5.2.3 System Linux localhost.localdomain 2.6.18-1.2798.fc6 #1 SMP Mon Oct 16 14:37:32 EDT 2006 i686 Build Date Jul 19 2007 10:35:05 Configure Command './configure' '--build=i386-redhat-linux' '--host=i386-redhat-linux' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--with-pear=/usr/share/pear' '--with-apxs2' '--enable-memory-limit' '--enable-libxml' '--enable-reflection' '--enable-spl' '--enable-zend-multibyte' '--with-zlib' '--with-bz2' '--enable-bcmath' '--enable-mbstring' '--with-mysql' '--with-pdo-mysql' '--with-pdo-pgsql' '--with-pgsql' '--with-iconv' '--enable-shmop' '--enable-soap' '--enable-xsl' '--enable-sysvmsg' '--enable-sysvsem' '--enable-sysvshm' '--enable-zip' '--with-openssl' '--enable-sockets' '--enable-calendar' '--with-png' '--with-jpeg' '--enable-gd-native-ttf' '--with-mhash' '--with-gd' '--enable-debug' Server API Apache 2.0 Handler Virtual Directory Support disabled Configuration File (php.ini) Path /etc Loaded Configuration File /etc/php.ini Scan this dir for additional .ini files /etc/php.d PHP API 20041225 PHP Extension 20060613 Zend Extension 220060519 Debug Build yes Thread Safety disabled Zend Memory Manager enabled IPv6 Support enabled Registered PHP Streams zip, php, file, data, http, ftp, compress.bzip2, compress.zlib, https, ftps Registered Stream Socket Transports tcp, udp, unix, udg, ssl, sslv3, sslv2, tls Registered Stream Filters string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, convert.iconv.*, bzip2.*, zlib.* Zend logo This program makes use of the Zend Scripting Language Engine: Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies and this is my php.ini file... |
||||||||||||
|
|
and this is the bottom of my php.ini file
zend_extension=/usr/lib/php/modules/dbg.so-5.2.x #extension=dbg.so-5.2.x [debugger] debugger.enabled=on debugger.profiler_enabled=on debugger.hosts_allow=10.0.1.40 localhost debugger.hosts_deny=ALL debugger.ports=7869, 10000/16 #zend_extension="/opt/PDFlib-6.0.4-Linux/bind/php5/php-520/libpdf_php.so" #extension="libpdf_php.so" #extension=ssh2.so #extension=dbg.so-5.2.x #zend_extension="/usr/lib/extensions/debug-non-zts-20060613/eaccelerator.so" zend_extension="/opt/eaccelerator-0.9.5.1/modules/eaccelerator.so" eaccelerator.shm_size="16" eaccelerator.cache_dir="/tmp/eaccelerator" eaccelerator.enable="1" eaccelerator.optimizer="0" eaccelerator.check_mtime="1" eaccelerator.debug="0" eaccelerator.filter="" eaccelerator.shm_max="0" eaccelerator.shm_ttl="0" eaccelerator.shm_prune_period="0" eaccelerator.shm_only="0" eaccelerator.compress="1" eaccelerator.compress_level="9" |
||||||||||||
|
Site Admin
|
Debug Build yes
^^^^^^^^^^^^ that's the problem. You need to compile production-ready php, not a development build. This option has nothign to do with debugging php scripts. It's for debugging php core. zend_extension="/opt/eaccelerator-0.9.5.1/modules/eaccelerator.so" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is another potential problem that you may face up with after you get everything to work. With opcode caches (like eaccelerator) that do not aware of debuggers, you can not debug php scripts. |
||||||||||||
_________________ The PHP IDE team |
|
Thank you for pointing that, would never have worked that out myself, have turned off the accelerator but still no joy. So it looks like i'll have to rebuild apache,
do you know what stops the debugger working in development build mode? |
||||||||||||
|
Site Admin
|
Seems you're reading too fast and did not get me right. Did I tell you that the problem you've got has any relation to accelerator? You have Debug Build of php. IT IS WHAT TROUBLES YOU.
development build of php requires zend_extension_debug= or zend_extension_debug_ts= directives (depending on threadsafe flag) and works with DEVELOPMENT BUILDS of corresponding extensions. IT WILL NOT WORK with debugger modules that are compiled for NONDEVELOPMENT build of php. |
||||||||||||||||
_________________ The PHP IDE team |
[resolved] PHP doesn't see dbg module |
|
||
Content © NuSphere Corp., PHP IDE team
Powered by phpBB © phpBB Group, Design by phpBBStyles.com | Styles Database.
Powered by
Powered by phpBB © phpBB Group, Design by phpBBStyles.com | Styles Database.
Powered by