php_bcompiler.dll with API=20090626

Problems with the Windows version of XAMPP, questions, comments, and anything related.

php_bcompiler.dll with API=20090626

Postby sys7 » 10. June 2010 02:57

Hello,

I have XAMPP 1.7.3 (Windows)
and it does not have php_bcompiler.dll.

So, I downloaded it and I only got it with API=20060613

I cannot run Bcompiler because I keep receiving this warning:

Warning

PHP Startup: bcompiler: unable to initialize module
Module compiled with API=20060613
PHP compiled with module API=20090626
These options need to match

Could somebody please let me know where I can download
php_bcompiler.dll with API=20090626?

Thanks

sys
sys7
 
Posts: 1
Joined: 10. June 2010 02:52

Re: php_bcompiler.dll with API=20090626

Postby JonB » 10. June 2010 04:44

That version was compiled with VisualC 2008 apparently. You need a version of it that was compiled with the Visual Studio 6 compiler to work with the current XAMPP.

Read my post here:

viewtopic.php?f=16&t=40825

"If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHP

If you are using PHP with IIS you should use the VC9 versions of PHP

VC6 Versions are compiled with the legacy Visual Studio 6 compiler

VC9 Versions are compiled with the Visual Studio 2008 compiler and have improvements in performance and stability. The VC9 versions require you to have the Microsoft 2008 C++ Runtime (x86) or the Microsoft 2008 C++ Runtime (x64) installed

Do NOT use VC9 version with apache.org binaries "

http://windows.php.net/download

Good Luck
8)
User avatar
JonB
AF Moderator
 
Posts: 3210
Joined: 12. April 2010 16:41
Location: Land of the Blazing Sun
Operating System: Windows XP/7 - Fedora 15 1.7.7

Re: php_bcompiler.dll with API=20090626

Postby cgarcia109 » 13. June 2010 21:33

How php implements plugins (extensions) it doesnt support pluging versioning so you have to build extensions for every new php version. You CANT use extensions compiled for an older version of php.
xampp actually include dev includes/libs to compile extra extensions in
<your-xampp-dir>/php/dev/

you need to get bcompiler source code http://pecl.php.net/package/bcompiler
a pair of missing includes in xampp php/dev/include/ext
ext/standard/info.h
ext/standard/file.h
you can get from php source code http://www.php.net/get/php-5.3.2.tar.gz/from/a/mirror

You need Microsoft Visual Studio (express should works) and touch a bit the project file to point to the correct include libs directories.
And build bcompile of course

Take note that bcompile is actually beta.
If you only need to speed up your php scripts you could just enable eAccelerator extension in your php.ini. eAccelerator actually catches php bytecode to save compilation time.
If you need to protect your code, you could just use an php obfuscator. That would hide enough details about your code.

Anyway if you still need bcompiler here it is compiled for xampp 1.7.3 latest:
http://www.megaupload.com/?d=WI5QSZVZ
place in ext folder, restart xampp ...
Use at your own risk:
1- bcompiler is beta
2- is a dll and you shouldnt trust programs from untrusted sources(use an antivirus)

I recommend you using bcompiler gui http://www.trustfm.net/GeneralTools/SoftwareBcompilerGUI.php?b2=1
and make a backup of your project just in case.
cgarcia109
 
Posts: 5
Joined: 13. June 2010 21:12

Re: php_bcompiler.dll with API=20090626

Postby JonB » 13. June 2010 22:33

Thanks for your very clear explanation and the tips you offered. You indirectly answered several non-topic related questions that have been swimming around in my head. Many thanks

8)
User avatar
JonB
AF Moderator
 
Posts: 3210
Joined: 12. April 2010 16:41
Location: Land of the Blazing Sun
Operating System: Windows XP/7 - Fedora 15 1.7.7

Re: php_bcompiler.dll with API=20090626

Postby darknight » 08. November 2010 15:16

Hi,
I have the same problem with this library but I don't hunderstand how to compile it.
Can you explain it to me?
darknight
 
Posts: 6
Joined: 08. November 2010 15:11
Operating System: -

Re: php_bcompiler.dll with API=20090626

Postby JonB » 08. November 2010 17:17

cgarcia109 has already provided a compiled DLL for XAMPP 1.7.3

Anyway if you still need bcompiler here it is compiled for xampp 1.7.3 latest:
http://www.megaupload.com/?d=WI5QSZVZ
place in ext folder, restart xampp ...
Use at your own risk:


That covers it, doesn't it???

IF you still want to compile -
Read this FAQ and AFAIK - you will need the Microsoft Visual C V6 compiler found in Visual Studio 6.

I want to use extensions for PHP that are not included with XAMPP.

http://bravo.newnetenterprises.com/word ... -i-do-that

Good Luck
:)
User avatar
JonB
AF Moderator
 
Posts: 3210
Joined: 12. April 2010 16:41
Location: Land of the Blazing Sun
Operating System: Windows XP/7 - Fedora 15 1.7.7

Re: php_bcompiler.dll with API=20090626

Postby darknight » 08. November 2010 17:28

I had it, but I don't hunderstand how to compile it.

I download the source from http://pecl.php.net/package/bcompiler and the php last source (5.3.3)

I open the bcompiler.dsp, add all the path to the library required ('cause I got a lot of "file not found" error), which are:
\xampp\php\dev\include\main
\xampp\php\dev\include\TSRM
\xampp\php\dev\include\Zend
\php-5.3.3\ext\standard (the path to php source)

but when I try to compile I get others syntax errors in xampp\php\dev\include\main\streams\php_stream_transport.h

When I try to use the dll downloaded from the link above and I try to start apache from xampp control I get a "msvcr100.dll not found"
darknight
 
Posts: 6
Joined: 08. November 2010 15:11
Operating System: -

Re: php_bcompiler.dll with API=20090626

Postby JonB » 08. November 2010 18:06

When I try to use the dll downloaded from the link above and I try to start apache from xampp control I get a "msvcr100.dll not found"


you probably need the Visual C support files (CGarcia would have had them as the compiler was installed)

http://msdn.microsoft.com/en-us/library/ms235299.aspx

Remember Google is your friend - :mrgreen:

that will likely fix your DLL error

What were you trying to compile with????

Good Luck

8)
User avatar
JonB
AF Moderator
 
Posts: 3210
Joined: 12. April 2010 16:41
Location: Land of the Blazing Sun
Operating System: Windows XP/7 - Fedora 15 1.7.7

Re: php_bcompiler.dll with API=20090626

Postby darknight » 08. November 2010 18:18

JonB wrote:What were you trying to compile with????

Visual studio 6 enterprise edition :shock:

JonB wrote:you probably need the Visual C support files (CGarcia would have had them as the compiler was installed)

But when I will deploy the compiled application (with the php_bcompile.dll) the user must install it in theyr pc, too?

EDIT: I go to this link, http://msdn.microsoft.com/en-us/library/ms235299.aspx, but I don't hunderstand what I must download.
darknight
 
Posts: 6
Joined: 08. November 2010 15:11
Operating System: -

Re: php_bcompiler.dll with API=20090626

Postby JonB » 08. November 2010 18:44

Normally the 'correct' redistributable run-times (support libraries) will make things work the way the developer intended. Really - the right person to ask is 'cgarcia109'. I think Sr/Sra Garcia probably made the incorrect assumption about XAMMP end-user knowledge. Of course this is a pretty advanced topic, so those assumptions look very valid - we are talking about code optimzation and compilers. AFAIK - the C++ compiler doesn't build an installer unless instructed. So the DLL is a raw package - no automated installation of support files. Thus - if you choose to make the compiled code available, you will need to understand the process and document it.

http://support.microsoft.com/kb/259403

Beyond this information, its really a discussion about learning Microsoft's development systems. The best person to query is the provider of the compiled code OR you could try to reach BigWetDog (here on ApacheFriends), or - even better - start familarizing yourself with the many free MS developer forums.

Good Luck
:)
User avatar
JonB
AF Moderator
 
Posts: 3210
Joined: 12. April 2010 16:41
Location: Land of the Blazing Sun
Operating System: Windows XP/7 - Fedora 15 1.7.7

Re: php_bcompiler.dll with API=20090626

Postby darknight » 08. November 2010 19:05

Seems to me that I have not good luck :lol:

I download the package from microsoft website and run it... it extract a exe file inside a folder.
When I run this file nothing happened, so I extract its content using 7zip and then using right click on the ini file I chose "install"
It copy some file, but when I try to run again apache using xampp control I get the same error "msvcr100.dll not found"
:cry:

I hope someone would rebuild and add this to the next release of Xampp.
darknight
 
Posts: 6
Joined: 08. November 2010 15:11
Operating System: -

Re: php_bcompiler.dll with API=20090626

Postby JonB » 08. November 2010 23:53

its because he used the Visual Studio 2010 compiler. Bad server geek - I shoulda known that was the pattern.

I checked the output of the V6 runtime - no 'msvcr100.dll' only 'msvcrt.dll'.

Code: Select all
[CopyFileSection.NT]
asycfilt.dll,,,96
atl.dll,atlu.dll,,96
comcat.dll,,,96
mfc42.dll,,,96
mfc42u.dll,,,96
msvcp60.dll,,,96
msvcirt.dll,,,96
msvcrt.dll,,,96
oleaut32.dll,,,96
olepro32.dll,,,96
stdole2.tlb,,,96


I'm sure he knows way more than I on this - but I understand you can make compilers output 'backward compatible' code by correctly specifying the parameters, and I am guessing that is the case here.

this is about your exact problem -
http://social.msdn.microsoft.com/Forums ... 99c8703438

Good Luck - I have fingers crossed and thumbs pressed (Daumen drücken)

:)
User avatar
JonB
AF Moderator
 
Posts: 3210
Joined: 12. April 2010 16:41
Location: Land of the Blazing Sun
Operating System: Windows XP/7 - Fedora 15 1.7.7

Re: php_bcompiler.dll with API=20090626

Postby darknight » 09. November 2010 00:13

Ah, I was afraid of that.
I hope to have a version compiled with visual studio 6, not using .net version (2003, 2005, 2008, 2010) 'cause I want to give this package also to user using windows 2000 (me too have some windows 2000 workstation at home) and .net framework 3 (and above) cannot be installed on this machine.
And also I don't want user to install other software if they don't wont.

I sent 'cgarcia109' a pm asking help, hoping will reply.

I think all user need this dll compiled with vc6 (please someone help us).
darknight
 
Posts: 6
Joined: 08. November 2010 15:11
Operating System: -

Re: php_bcompiler.dll with API=20090626

Postby JonB » 09. November 2010 16:44

I can recommend what to search on, and understand -

Its all Apache dependent, because of the PHP as a module concept - it implies on Windows that the php is DLL that is called by Apache. (so tha drives what teh compilation options are I believe.

(JonB makes the little pile of stones that means therefore) - its the same as compiling Apache for Win32.

That line of research may turn up the answers, also read the php.org stuff about compiling.

You might also post the errors you got trying to compile, If your install on Visual Studio 6 Enterprise wasn't from original MS distribution Media, it may not be installed correctly with all the support files "it" needs.

Good Luck
:)
User avatar
JonB
AF Moderator
 
Posts: 3210
Joined: 12. April 2010 16:41
Location: Land of the Blazing Sun
Operating System: Windows XP/7 - Fedora 15 1.7.7

Re: php_bcompiler.dll with API=20090626

Postby cgarcia109 » 23. December 2010 15:07

Yep, i used Visual Studio 2010. Should had compiled it with VS6. The Runtime dll VS6 come with any version of Windows.
Anyway you only need Visual C++ 2010 Runtimes:

x86 http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84&displaylang=en
x64 http://www.microsoft.com/downloads/en/details.aspx?FamilyID=bd512d9e-43c8-4655-81bf-9350143d5867&displaylang=en

Havent checked xampp in a while, if there has been any new xampp version with a new php version, unless something has changed, extensions need to be recompiled again.
cgarcia109
 
Posts: 5
Joined: 13. June 2010 21:12

Next

Return to XAMPP for Windows

Who is online

Users browsing this forum: No registered users and 114 guests