php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #56318 API versions out of sync
Submitted: 2005-02-21 17:17 UTC Modified: 2005-02-22 00:16 UTC
From: sean at caedmon dot net Assigned:
Status: Not a bug Package: PDO_MYSQL (PECL)
PHP Version: 5.0.3 OS: Linux
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem:
35 - 28 = ?
Subscribe to this entry?

 
 [2005-02-21 17:17 UTC] sean at caedmon dot net
Description:
------------
I just cvs up -dP'ed both pecl/pdo and pecl/pdo_mysql; phpized && make && make install.

Seems their API numbers are out of sync. Sounds like pdo_mysql needs to be made aware of the new API# (yesterday).

Actual result:
--------------
PHP Fatal error:  PDO: driver mysql requires PDO API version 20050214; this is PDO version 20050220 in Unknown on line 0

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-02-22 00:16 UTC] wez@php.net
The problem is that you still have the older pdo_mysql.so being loaded by your php.ini file.
You should comment out the extension=pdo_mysql.so line when you "make install", then re-enable it again afterwards.

Why does it refuse to load?  The API number is bumped whenever a change has been made to size or layout of the public structures in PDO.  If we didn't have the API number, the old driver would still load, but would have a stale idea of how things are--this would lead to memory corruption in the worst case or a crash in the best case.
 [2006-07-28 19:10 UTC] mr dot hogi at gmail dot com
WinXP Pro 2002
Apache 2.0.58
PHP 5.2.0


I have been trying really hard to install pecl radius so that I can install pear Auth-RADIUS.  

Apparently the PEAR installer won't install pecl modules at this point because it won't find the .dsp files (in this case radius.dsp) even thought they exist in the propper directory. 

So I downloaded php_radius.dll from snaps and updated php.ini to load the extension.  However, when I restart Apache, I get the following warning:

PHP Startup : radius: Unable to initialize module
Module compiled with module API=20050922, debug=0, thread-safety=1
PHP compiled with module API=20060613, debug=0, thread-safety=1
These options need to match.

I read below that the API will change if I update the module is some way, but I have no idea how to get my .dll in sync with php.  

Thank you in advance for your help.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Apr 16 22:01:27 2024 UTC