php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #38919 php_mysql.dll unresolved import function _zval_copy_ctor_func
Submitted: 2006-09-22 02:50 UTC Modified: 2006-09-25 18:16 UTC
From: boardman_malibu at yahoo dot com Assigned:
Status: Not a bug Package: MySQL related
PHP Version: 5.1.6 OS: win98se
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: boardman_malibu at yahoo dot com
New email:
PHP Version: OS:

 

 [2006-09-22 02:50 UTC] boardman_malibu at yahoo dot com
Description:
------------
I have never been able to launch php_mysql.dll or php_mysqli.dll.  The windows GUI reports that certain unnamed libraries were missing.  The dependency walker that comes with visual studio 6 indicates that php_mysql.dll is trying to import the function '_zval_copy_ctor_func' from PHP5ts.dll, which is not there.  There is a function called '_zval_copy_ctor' in php5ts.dll.  This problem is present in all versions of php_mysql.dll I have tried, including the lastest from mysql.org AND php.net

I am currently able to access Mysql 5 with php 4.4.4 with the compiled in client.


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-09-22 14:02 UTC] edink@php.net
You are most likely mixing dlls from different PHP versions, php_mysql.dll works fine.
 [2006-09-22 20:16 UTC] boardman_malibu at yahoo dot com
------------
I have never been able to launch php_mysql.dll or php_mysqli.dll.  The
windows GUI reports that certain unnamed libraries were missing.  The
dependency walker that comes with visual studio 6 indicates that
php_mysql.dll is trying to import the function '_zval_copy_ctor_func'
from PHP5ts.dll, which is not there.  There is a function called
'_zval_copy_ctor' in php5ts.dll.  This problem is present in all
versions of php_mysql.dll I have tried, including the lastest from
mysql.org AND php.net

I am currently able to access Mysql 5 with php 4.4.4 with the compiled
in client.

follow up:

There is no function '_zval_copy_ctor_func' in PHP4ts.dll either, which indicates the problem is the php_mysql.dll source.  The '_func' at the end is unsual, all the imports are functions, after all.

Anybody not running Win98se, don't bother to reply since dll linking by the OS has changed with newer versions.
 [2006-09-22 20:33 UTC] boardman_malibu at yahoo dot com
edink's highly technical reply would mean that php5ts.dll at some version renamed '_zval_copy_ctor' to '_zval_copy_ctor_func', which would require all php_modules to be recompiled with the new name, sorry not buying it.
 [2006-09-23 12:08 UTC] tony2001@php.net
Please make sure you've removed all php4ts.dll and other dlls from PHP4 and then reinstall PHP5.
Not PHP problem.
 [2006-09-23 19:50 UTC] boardman_malibu at yahoo dot com
tony2001 also fails to address the issue.  Please read again that visual studio dependency walker identified the bad import call. it had no problem identifing which dll was which.  I would like to know how the php_mysql.dll binary from php.net was compiled without a warning of this problem.

I also need to repeat that there is no function '_zval_copy_ctor_func' in either php4ts.dll or php5ts.dll, so dll versions have nothing to do with this.

I hope the next comment will be from someone familiar with the source code.
 [2006-09-25 07:10 UTC] tony2001@php.net
Please stop reopening this bogus report.
PHP 4.4.4 and php_mysql.dll work fine for all users except you, which means it's a problem with your system, not PHP, so please direct your complaints to the developers of your system.
 [2006-09-25 18:16 UTC] boardman_malibu at yahoo dot com
tony2001, I had said in my intial report that 4.4.4 worked, please read before you type.

My problem is caused by a screwball change in zend_variables.h.  The zend changelog doesn't clearly say that 'zval_copy_ctor_func' was added, so I don't know when the change occured in relation to PHP 5's release.  If you compare both versions you'll see that the original 'zval_copy_ctor' is no longer exported and some but not all of its function is moved to 'zval_copy_ctor_func'which is.  Some patch.  
Whoever did this has never heard the term 'backwards compatible'.
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Thu Jul 10 19:01:34 2025 UTC