how can i get libmemcached for windows? - php

i'm trying to install the memcached extension in my windows localhost: wamp 64 php 5.5.12. see memcached at: https://pecl.php.net/package/memcached (notice that This extension uses libmemcached library)
unfortunately there is not a ready dll for this extension.. so i need to produce the dll myself.
i followed this guide in order to produce a working dll: https://wiki.php.net/internals/windows/stepbystepbuild
(im using Microsoft Visual Studio 2012 to compile)
i get an error when i try to configure (just before the build).
here is the print screen error that i get:
unfortunately the memcached extension is depended on 'libmemcached library' which do not officially support windows environment.
i came across this git project.
https://github.com/moteus/libmemcached-win32
im not sure what can i do with that source file and how can that help me. it seems that this git project is a libmemcached ready to work in windows (for all i know)
do this github project is a ready libmemcached library (if so where is the memcached.lib?)? or how can i produce from this page a memcached.lib file? (or anything that will help me make a working dll for the memcached extension)
would deeply appreciate any help on this.
thanks!!

There is vs2015 lib+dlls 1.0.18 available:
https://github.com/yshurik/libmemcached-win/releases/tag/1.0.18
Also vcxproj is availbale so you can compile it for other versions of msvc.
win32 branch on launchpad is extremely old and has different api from 1.0 version.

Apparently there is a libmemcached for windows. From the memcached website:
https://code.launchpad.net/~mattn/libmemcached/libmemcached-win32

Related

How to install a right version phpmyadmin on Centos 6.9 accordingly?

I am moving a Magento 1.8 web to a lower cost hosting and exhausted by phpmyadmin installation.
Magento 1.8 was suggested to run with PHP 5.4 and Mysql 5.5, therefore, I chose a Centos6.9 image and thought could be easier...The LAMP stack installation is smooth, but always got problem with phpmyadmin. I have tried PHP5.4 + Mysql5.5, PHP5.4 + Mysql5.6, PHP5.5 + Mysql5.6 combinations, none of them turn out success...
Most of online blogs suggest same way to install phpmyadmin which I followed as below:
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
or
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
then
yum install phpmyadmin
I thought the EPEL package will be able to automatically identify php modules already installed and install the right version phpmyadmin accordingly...
instead it seems stick with php 5.3 which is default php version with Centos 6....here is error message:
the list is very long and involved many php modules...
I am kind of newbie with linux server stuff...Can anyone help to address this issue and point a solution out? thank you in advance.
BTW, I am big fan of open source, but from this point, I feel a bit disappointed to open source products...especially when end user need to work with multiple of them together...it can never be said as user-friendly.
If you have the Remi repo installed you should be able to use:
yum install phpmyadmin --enablerepo=remi-php56
You have php 5.4.45 installed from remi-php54, so you need to enabled this repository to install any additional module.
As explained by the Wizard.
Please note than PHP 5.4 and 5.5 are not maintained anymore, so I hearthly recommend to upgrade to a supported release (5.6 or more recent)
P.S. phpMyAdmin in EPEL is quite old (4.0) but suitable for old PHP versions. For more recent version of PHP (5.6, 7 and up), you probably need the latest phpMyAdmin version 4.7 (which is available in "remi" reposotiry)

How to find a php_mongo.dll that will work with my version?

I want to use MongoDB with PHP Version 5.6.3. I am running XAMPP with these versions:
API : Apache 2.0 Handler
Compiler : MSVC11 (Visual C++ 2012)
Architecture : x86Handler
When I run XAMPP server there's a warning sign next to libsasl.dll is missing from your computer. I'm not getting which php_mongo.dll would work with my version?
It looks like you can download Mongo extensions from PECL. If you are in doubt which version to go for, select the latest stable, which at the time of writing is 1.5.8.
This will save you the trouble of compiling your own on Windows, which is usually a great deal harder than on *nix-like systems.

Compiling a php extension into a dll

I've been attempting for a last few days to make use of the operator overloading extension (pecl.php.net/package/operator), which has apparently been updated recently to be compatible with 5.3 and 5.4.
I've tried compiling it in windows (64-bit Windows 7) using this guide, with PHP 5.4 and Windows SDK 7.1 without luck. So I tried doing it with PHP 5.3 and Windows SDK 6.1 and I can get it to successfully compile with the config "configure --disable-all --enable-cli --enable-operator" and then "nmake". The problem is that it doesn't produce a dll file for the operator extension, instead what I get is this, which is apparently useless for me. What I want is a dll I can use for my local WampServer setup.
I had had fatal errors when trying to use operator-0.4.1 from the pecl.php.net site, so instead I downloaded and compiled from the git repository (github.com/php/pecl-php-operator), which is what produced the .obj, .idb and .sbr files.
You have to do
configure --disable-all --enable-cli --enable-operator=shared
otherwise it's statically compiled.
Anyway, if you want to use it with WampServer, the binary will probably not work because if I'm not mistaken WampServer is compiled against the VC10 C runtime library, while the guide you linked to instructs you to use Visual Studio 2008 (which comes with VC9). You'll need to use the VC10 compiler (I think it's bundled with Windows SDK 7.1, so you can download just that and skip Visual Studio).
Into extension root path, and modify config.w32
EXTENSION('redis', sources); to EXTENSION('redis', sources,true);
buildconf --force
configure --enable-xx
nmake
you'll get php-redis.dll

Connect to RabbitMQ from PHP - Windows

I have RabbitMQ running on one of our servers and am trying to connect to it via PHP. I am developing on a Windows7 machine and my first line of code reads:
$cnn = new AMQPConnection();
It gives me the error:
Fatal error: Class 'AMQPConnection' not found in
I know that it is something that I need to install but what is it ? I am new to PHP so a little help would be nice.
Ps: I can connect to the RMQ server via the RabbitMQ admin web interface.
Thank you
Jack
Installation guide for php_amqp 1.4.0 (Stable version):
Download proper package for your php version from https://pecl.php.net/package/amqp/1.4.0/windows
Unpack php_amqp.dll to X:/php/ext/ directory
Unpack rabbitmq.1.dll to X:/Windows/system (not system32) directory
Modify php.ini file and add "extension=php_amqp.dll" line at the end of extensions list
Verify module installation by executing command "X:/php/php.exe -m" in command line
Restart webserver
I am developing on a Windows7 machine
You may be out of luck using that specific code. That class is from the PECL aqmp extension. Inside the installation instructions, it states:
Note to Windows users: This extension does not currently support Windows since the librabbitmq library does not yet support Windows.
You will want to use another library to speak to your message queue instead.
The rabbitmq-c library supports windows now, and the php_amqp pecl extension builds on windows as well. The documentation just hasn't been updated, nor are there any official binary builds in the wild. However, I managed to get them to build and have some 32 bit dll's available for download here:
http://www.nathanjohnson.info/?p=77
# AMQP installation php.net:
Note to Windows users: This extension does not currently support Windows since the librabbitmq library does not yet support Windows.
But here at RabbitMQ website is a windows installer...
Apparently this php.net page is outdated
To install do like this:
Download the correct package for your php from this official PECL amqp 1.4.0 page
unzip
add amqp.dll to your php ext folder
add rabbitmq.1.dll to your windows system 32 folder.
This according to the post on the blog I found here i think it is from the same #NathanJohnson who posted also here.
How I got it working:
My System Config: Win 7 Pro, (x64) XAMPP running PHP 5.6(x86)
Follow instruction from here to install RabbitMQ:
https://www.rabbitmq.com/install-windows.html
Now download compatible extension from here
https://pecl.php.net/package/amqp/1.4.0/windows
in my case it is "5.6 Thread Safe (TS) x86"
Now from zip file (php_amqp-1.4.0-5.6-ts-vc11-x86.zip) downloaded copy dll "php_amqp.dll" to your php extension folder in my case it is "xampp/php/ext" and copy dll "rabbitmq.1.dll" to "Windows\system" directory.
now register your php_amqp dll in php.ini file as
"extension=php_amqp.dll"
now restart apache.
Done. Now you should not get AMQPConnection not found exception.

Install APC on Windows

How can I install APC on Windows? I am using PHP 5.3, Windows 7 x64.
I used
pecl install apc
I got
C:\PHP>pecl install apc
downloading APC-3.0.19.tgz ...
Starting to download APC-3.0.19.tgz (115,735 bytes) ............
done: 115,735 bytes 47 source files, building
WARNING: php_bin c:\php\php.exe appears to have a suffix \php.exe, but config
variable php_suffix does not match running: msdev APC.dsp /MAKE "APC - Release"
ERROR: Did not understand the completion status returned from msdev.exe.
Installing an extension with the pecl command means :
downloading the sources
compiling them
And, generally speaking, a windows machine doesn't have what's required to compile software like PHP and/or PHP extensions.
A better / easier solution, in your case, would probably be to find a pre-compiled .dll of the extension, that matches your system and your version of PHP.
With a bit of luck, maybe one of the versions provided on http://downloads.php.net/pierre/ could be OK ?
(It's what kind of acts as replacement of the old pecl4win, until the extensions for windows are available on windows.php.net)
For more informations about which version you should use, take a look at the Which version do I choose? section, in the left side-bar of http://windows.php.net/
It is not really important, whether you are running Windows 32-bit or 64-bit version. What matters is what Apache (webserver) version you have installed (32/64). Since lots of PHP extensions (like APC) are not available for 64-bit systems, most common setup is as follows:
Operating system 32 or 64-bit (not really important). Apache 32-bit will run easily on Windows 64-bit. The difference is, that for 32-bit apache you MUST install PHP 32-bit. Once you install 64-bit PHP, you may find difficult to install some extensions - there are almost no extensions available for 64-bit PHP platform.
therefore your webserver should be 32-bit if you care about special extensions, like APC, Imagick etc... Also you need to know if your apache is thread safe (TS) or not thread safe (NTS) and whether it has been compiled in Visual Studio 6 (VC6) or newser Visual Studio 2008 (VC9). You will easily find all this info from phpinfo() function.
as for the APC, some nice compilation for Windows are available from http://dev.freshsite.pl/php-accelerators/apc.html.
For php 5.3 you use php.net/pierre/php_apc-3.1.10-5.3-vc9-x86.zip.
Download it and copy php_apc.dll to your php ext directory. (I choose the file under ts I have thread safe php installation. There is also an apc dll file for non thread safe.)
Add extension=php_apc.dll into your php.ini file
Restart your web server
Run phpinfo() to see if it's installed or not.
I am using php 5.4 and I downloaded php.net/pierre/php_apc-3.1.10-5.4-vc9-x86.zip and its working fine.
Hope this will help mate.Good luck.
Also, make sure that the compiled version from here http://downloads.php.net/pierre/
matches your php version, otherwise the extension will not load (php v. 5.2.17 requires php_apc.dll v 5.2.17.17 - which doesn't seem to be available as of this writing - I had to downgrade the php version to play with apc).
Another point, pierre's zip packages, at least the one I downloaded, did not include the management script. you can get it from here: http://pecl.php.net/package/APC - select the version you downloaded, then navigate to Browse Source, then find your version in the 'tags' folder. the apc.php script should be there.
There's no available version for php > 5.4.
I'm using APCu instead. Just download the dll and reference it in php.ini.
This website offers updated dll and installers for Apache, PHP and APC compiled to work on windows 64 bit. I've been using it for a while and it works fine. You could an APC version compatible with PHP 5.3.22 here

Categories