I now have a scenario where I need PHP to be 32bit (I need to connect to a 32bit COM object, no 64bit version is available for this particular one (Sage SDO)).
I want to keep MySQL as it is, 64bit, but how would I go about changing just PHP to 32bit without wrecking everything?
I have tried to simply drop in 32bit PHP in place of the 64bit, copying the php.ini file so the config is the same, but this doesn't work and the server won't start.
I am using WAMP 2.4 with PHP 5.4.12.
Am I better off ditching WAMP completely and doing my own custom build so that everything is the latest version?
I am afraid you would have to change Apache to 32bit as well as PHP. This is because Apache basically runs PHP as a subroutine in the WAMP setup so they both have to be compiled using the same compiler version and bit count.
MySQL you could keep as a 64bit version as PHP talks to MySQL through a TCP port and not directly.
However there is no great advantage to keeping MYSQL as 64bit as the 32 and 64 bit databases are interchangable as far as I know.
I would suggest you save your databases and site code and then uninstall the 64bit WAMP and the install the 32bit WAMP.
It is still the case that there are more extension available in the 32bit arena than there are in the 64bit, so this will also make your environement more flexible for the next time you need a less mainstream extension in your websites.
Related
I have a Joomla Website and within it I created a custom Module, that should connect to this Access Database I have. However when trying to connect to it it can't find this database. As far as I found out this is because the connection string I registered as a odbc-datasource is 32bit, but the PHP is a 64bit version and therefor also looks for a 64bit odbc-datasource. So is there a possibility to enforce it to take the 32bit datasource?
different bit size programs can't talk to each other. There is no difference between Access x32 and x64 format files. So there is no such thing as a x32 bit Access database.
What IS differnt howver is the database driver you choose. There is a x32 bit driver, and a x64 bit driver. If your web site is running as x64 bits, then the Access database driver must also be x64 bits.
Windows for about 20 years ships with a Access x32 bit driver. this driver thus does not need to be installed, but it only x32 bits, and it ONLY works with mdb files. If you are using the newer accDB file format, then you need to install a later version of the Access database engine (the old one is called JET, the newer one is called ACE). You need the ACE data engine to read accDB files. You also need ACE if you going to read mdb files and ALSO use x64 bit software. So only a x32 bit version of JET exists (reads mdb files only).
If you want to use x64 bits and read mdb files, or accDB files, then you have to install the 64 bit version.
Since the dawn of computers? you can no more use x32 bit software to talk to say a 8 bit Atari computer. You have to match up the bit size of all code and libraries you are using - including driver software to connect to the database. Mix and match of different bit size software is not allowed, and it been that way since the first computer shipped to a home.
I am to work on a project currently running on php 5.3.
The only php exe I found for windows is : php-5.3.29-Win32-VC9-x86.zip.
No x64 version found.
So far, my firt try at installing locally (wampserver 64bits) has failed : Apache will not start with php5_module pointing to the "php-5.3.29-Win32-VC9-x86.zip" executable (dll).
Can anyone confirm php 5.3 can actually run on a 64bits pc ?
If confirmed as feasable, can you please help me ? (which download to use, should I use IIS/fastCGI instead, etc. ?)
Thanks in advance for any help,
Paco
I know this is not really the answer you want, but you REALLY should not use 5.3 .. It hasn't gotten any security patches in 3 years. If you project is not compatible with 7.1, you should at least be using 5.6.
You can get that here: http://windows.php.net/download#php-5.6
Try XAMPP. It runs on both x64 and x32 bit Windows PC
https://www.apachefriends.org/download.html
The answer is of course yes.
PHP on IIS goes through FastCGI, so that even on 64 bit Windows the IIS components are 64 bit, php-cgi.exe as FastCGI client can run as 32 bit. You should try to run 32 bit of PHP 5.x as based on observation the corresponding 64 bit builds (if available) are not as stable as it should.
Like others commented, you really should upgrade now to 7.x (even 5.6 reaches end of life in 2018), or never.
Am new to PHP and Nginx web server. I want to setup a 64bit Nginx web server with PHP 5.6 64bit on Windows 64bit system, but only 32bit Nginx build is available for windows officially. Is it possible to use PHP 64bit with Nginx 32bit web server?
If it is possible to use it, is there any performance impact?
There are 64bit Nginx builds available from unofficial sources, but they advice not to use this for production, so I need to stick with official 32bit Nginx build for windows.
Thanks in advance.
PHP with nginx would normally be run as a fastcgi application (https://www.nginx.com/resources/wiki/start/topics/examples/phpfcgi/ ).
This would communicate over a TCP socket on windows - and therefore it doesn't matter whether it's 64bit or 32bit php at the far end.
In terms of PHP, if performance is a key driver, and your new - you mind want to consider looking at php 7 as that has a number of performance improvements over the php5 series. The development of php 7 has some benchmarks on a google docs spreadsheet at the bottom of their page https://wiki.php.net/phpng which indicates the differences
Is it possible to be running a 64-bit version of PHP on a 32-bit version of WAMPserver?
Here's why I ask...when I go to my index.php page, it states that I am running WAMPServer version 2.4.
When I click on phpinfo it states that the Architecture is x64.
However task manager shows the process name is wampmanager.exe *32.
How can wampmanager.exe be 32-bit if php is x64?
WAMPServer is an installer of software, it allows you to download Apache/MySQL/PHP in a pre-configured state so that it runs out of the box without you needing to know anything about what you are doing with Apache/MySQL or PHP. Appropriate really in the circumstances.
wampmanager.exe is part of the tool. It is in fact aestan.exe a general purpose exe that accepts commands to dynamically create a tray icon with menus, and perform actions based on clicking those menu items.
wampmanager.exe is a 32bit executable, regardless of wether you installed WAMPServer 32bit or 64bit.
WAMPServer comes in both 32bit and 64bit versions.
This in fact denotes the compiler used to compile Apache/MySQL and PHP. So if you have the 32bit WAMPServer, you have Apache/MySQL and PHP ALL COMPILED with a 32BIT compiler. If you have WAMPServer 64bit, you have Apache/MySQL and PHP ALL COMPILED with a 64BIT compiler.
Now you could mix and match as long as Apache and PHP were either BOTH 32bit or 64bit.
MySQL can be either as there is not direct interface between them. BUT I DONT ADVISE YOU TRY THAT. (KISS being best applied here)
To be honest there is no point in the 64bit WAMPServer (unless your are a real nerd ) if you are using it as it was intended i.e. a local testing environment, or even if you have foolishly used it for a live website environment, as, PHP(64bit) is not a complete port yet and as denoted on the php.net website, is still considered EXPERIMENTAL
WampManager is only a 32-bit form interface for manage other service (Apache, MySQL, etc.). WampManager "start" and "stop" a 64-bit Apache service (httpd.exe) with 64-bit PHP DLL.
I did figure out what the issue was. (I got so far off track in this post I didn't even mention a main problem was the Aestan tray errors and WAMP would not start properly.) In the end, these two posts - Unable to enable PHP LDAP even though I have edited php.ini and php_ldap.dll is in the right place? and http://php.net/manual/en/ldap.installation.php ended up solving it. After completely uninstalling and resinstalling WAMP (downgraded to 32-bit on RiggsFolly advice as well, just to be safe) I found that the services refused to restart after trying to enable the ldap extension via the php.ini file. I executed the steps in the stack overflow post (first link above), when that didn't work, I found the libsasl.dll file was missing from the C:\wamp\bin\apache\Apache2.4.4\bin directory. I copied it there and bam everything started and my LDAP is working.
I'm trying to setup a SVN Server 1.7.5 on my development workstation which has the following tools already working:
Apache Server 2.2.22 (64 bits) - VC10 from Apache Lounge
PHP 5.4.3 VC9-TS (64 bits) from Anindya's Blog
XDebug 2.2.0 VC9 for PHP 5.4.x TS (64 bits) from Xdebug.org
MySQL CE 5.5.24 (64 bits) MSI installer from MySQL Dev. Web Site
NetBeans IDE 7.2 RC1 with JRE 7 update 5 (64 bits) from NetBeans Web Site
Windows 7 Professional Edition (64 bits)
As you can see, all used tools are 64 bits.
My headache starts when I try to include SVN server to the toolset.
Well, before posting this message in this forum, I found many very good SVN solutions for Windows 64 bits such as Visual SVN Server, Subversion Edge from CollabNet and uberSVN from WanDisco. However, all of them install an embedded Apache Server along with SVN Server.
So, as I already have an Apache server working and well configured with all my personal needs, I would totally avoid having two different Apache servers just because of SVN.
I have also searched on the web in order to know whether I could install either VisualSVN or Subversion Edge without their embedded Apache server, but it seems it's not an option.
In my opinion, the only way to use my currently working Apache server is if I could find the SVN binaries for Apache 2.2.22 64bits.
As additional information, also searching many forums on the web, it seems that no SVN 64 bits libraries are released just because there are already good enough free tools in the market for this purpose such as the aforementioned ones. The price is that they also come with the Apache server which I really don't want.
I would fully apreeciate your help in this regard.
Best Regards.
SOLUTION UPDATE
Well, fortunately I managed to find Apache Haus web site. They have available Subversion 64 bits binaries ready to integrate with Apache 64 bits.
The setup process is really simple: Just extract the zip file, copy all contents to bin and modules folders inside Apache folder and configure htdocs.conf properly that you are all set.
As additional information, I also found that in order to have a local SVN setup, I really don't need to have a SVN server at all. The only thing I need in this case is to install a 64 bits client.
FINAL WORD
Although I don't need SVN server to install subversion on my local environment, I believe it's still worth the lessons learned with this setup and it's still worth to share here on StackOverflow as other guys may need to configure a SVN Server in a Windows 64 bits environment with Apache 64 bits.
Thanks a lot.
FWIW - Apache in uberSVN is self-contained so you should be fine to use uberSVN and still have your newer version of Apache installed for all your other needs.