I'm looking for a way to compile phpredis (https://github.com/nicolasff/phpredis) for windows (because the few already compiled binaries I found where Thread Safe only thus not working on my NTS PHP). I've done everything written there : https://wiki.php.net/internals/windows/stepbystepbuild but I'm clueless about what files/directories I should get from https://github.com/nicolasff/phpredis, where to put them and how to have the building environment "configure" tool detect.
Note: I'm not familliar with Github as well.
You can find the DLL's and intructions here:
http://char101.github.io/phpredis/
I just installed them successfully on my wamp server.
UPDATE
If that doesn't work, try to download from this link:
https://github.com/nicolasff/phpredis/downloads
(I was able to install on Windows 8/Wamp only with the second link)
Related
I have an application where i need to connect my web (PHP based) application with desktop application database so that both desktop and web can communicate with each other.
On ubuntu OS connectivity is working fine but when i comes to windows 7 codeigniter sql server connectivity is not working.
i tried visual c++ redistributional packages as well as other instructions provided on many platforms but fails.
i also added extensions in php\ext and dll files as well as include that extensions like sql_serv55_nts like that but nothing is working.
last error that i am receiving is
application not be run as php5.dll is missing .
can some one help to figure this out as soon as possible and can send me proper tested procedure for this.
As you say you have installed the sql_serv55_nts version of the SQLServer libraries, this is your problem.
Instead install the TS (Thread Safe) version of the SQLServer libraries. XAMPP on windows runs Thread Safe.
The php5.dll is the Non Thread Safe version of php5ts.dll which is supplied with the XAMPP install of PHP.
Once you install the TS version of SQLServer libraries delete the php5.dll it is not required, also you got it from a source that you cannot be sure is safe. A simple rule of thumb If it was required it would have come with the XAMPP install.
NOTE: You should never need to copy anything related to Apache/PHP/MYSQL into the Windows system folders. If you do, when you come to install another version of XAMPP it will still be there and will cause you hours of debugging to find out why you are having odd issues.
ALSO: It is also dangerous adding anything XAMPP or WAMPServer related to the Windows PATH as this will also cause you issues when you come to update XAMPP/WAMPServer as you are bound to forget that this was done.
Try adding your php directory and your php extensions directory to your PATH environment variables.
I resolved issue in following way.
Install xampp with php 5.5
install microsoft re distributional package
download php5.ddl file from php5.dll
if window is 32 bit than just copy downloaded php5.dll into windows/system32
if you have 64bit window than you need to copy it into windows/SysWOW64 too.
best is to restart your PC
All done......
Today I have tried to install imagick in my xampp a hundred times. And I did it. If you have troubles, please try following these steps:
Since xampp is x86, check if your Image Magick (the program) is x86. If not, download the latest version here: imagemagick.org/script/binary-releases.php#windows
Please remember that u MUST download the Win32 dynamic at 16 bits-per-pixel.
Install Image Magick at C:\imagemagick.
Download the latest stable version of imagick here: . You MUST download the 5.x Thread Safe (TS) x86. The x in 5.x is the version of your PHP.
Put the php_imagick.dll in php/ext folder of your xampp installation.
Add this in your php.ini: extension=php_imagick.dll
Here is when I have a lot of trouble. If you try to start the server (or writing php in the console (start->cmd)), you will get an error. If that error says something like this: Unable to find the entry point for the procedure FlattenImages in the DLL CORE_RL_magick.dll it means that you're well underway.
Now, you must go into the installation folder of Image Magick and overwrite the DLL you downloaded with the php_imagick.dll. All of them start with the prefix CORE_RL_.
Once you overwrote all of them, you can try writing php in the windows console. I don't say something means that the imagick is functional (you can check in localhost/xampp/ > phpinfo() link. Personally, I had to install a new DLL: vcomp110.dll.
If someone has the same error as me (the system can't found the vcomp11.dd) download it here
Now, if you try executing php on console, or just initializing the apache module of xampp, you should not have errors.
Goodbye and hope I can help someone.
EDIT: when tried to convert some-img.bmp some-result.jpg in the console, I had this error:
convert.exe: unable to open module file 'C:\Users\my-acc\.magick\IM_MOD_RL_BMP_.dll': No such file or directory # ...
This happened when there is no folder .magick in my-acc. The thing you need to do is this:
Create a folder named .magick in the my-acc folder. Since the name starts with a stop, you need to create it through the console. Here are the commands:
1.1. c:
1.2. cd Users\my-acc
1.3. mkdir .magick
Go to C:\imagemagick\modules\coders and copy the entire files into the latest folder created.
Now, you will be able to use Image Magick through the commands or the PHP Classes.
On background, if you use Codeigniter, i have no idea how to use the image_lib with imagick. So, it's better with the own imagick classes. Here a simple example:
$image = new Imagick($upload_data['full_path']);
$image->thumbnailImage(250,0);
if($image->writeImage($upload_data['file_path'].$upload_data['raw_name'].'_thumb'.$upload_data['file_ext'])){
something here;
}
$image->clear();
This answer might be extremely naive, but, I've found that getting things done in Windows is generally too painful. Many people agree with that and have found solace in a tool known as "chocolatey".
First, install chocolatey on your Windows machine (super easy install instructions):
https://chocolatey.org/
Then, use chocolatey to install everything else that you need (imagemagick in this case):
https://chocolatey.org/packages/imagemagick
I suspect you might have to do some minor tweaking to configuration files after that, plus handle all of the "Windows permissions" needed to get things to work smoothly. Permissions are can be as simple (and not necessarily safe) as "full control" to some user, plus activating inheritance and overwriting all children's settings to use inheritance.
In short, install, configure, permissions, go.
PS. This answer might be incomplete/prototypical/experimental, since I don't run codeigniter, php, imagemagick on Windows.
This how-to of Winderfind is wonderful, but for me it was not yet complete to troubleshoot all problems. First of all, have a look at this tutorial:
http://hrt0kmt.hatenablog.com/entry/2015/05/27/170608
Secondly I discovered that not all versions of ImageMagick will work with all versions of php_imagick.dll. Check out my and others answers on this post for further troubleshooting:
ImageMagick supported formats no value
Great tutorial,
If you are running windows 11, and installing xampp with php 8.1, you need to install 64bit versions:
Win32 dynamic at 16 bits-per-pixel
Becomes
Win64 dynamic at 16 bits-per-pixel
And
5.x Thread Safe (TS) x86
Becomes
8.1 Thread Safe (TS) x64
If you've installed the 32bit versions (as I did), you can just download the 64bit versions and overwrite all the files. Then restart apache and it should start working.
I have been trying to install PHP 5.3.6 on a clean install of Win2003, no dot net or anything else much installed. Unfortunately I have tried 'thread safe', 'non thread safe', installer file, zip file etc. but whatever I try PHP just doesn't seem to work. I have also installed Microsoft C++ 2008 redistributable as suggested on PHP site but still nothing.
Any suggestions on how I should actually be installing this properly. There seems to be vague and at times conflicting instructions on the PHPweb site.
Make sure that you have told IIS how to handle PHP files.
In IIS Manager, expand the tree and find web service extensions, then make sure you have a spot for PHP, pointing to the php dll.
then make sure that your MIME types are set up correctly. Right click your website under Web Sites, view properties, then the HTTP Headers Tab. Click the MIME Types button, and make sure you have an entry for PHP.
This is how we got it set up in IIS Manager. Hope it helps you too.
Further investigation suggests that PHP 5.3.x will only work with IIS using FastCGI; isapi is no longer supported hence the reason that PHP5isapi.dll is missing. Unfortunately FastCGI cannot be installed on IIS without first installing Microsoft Web Platform Installer which requires dot net to be installed first.
This is crazy, PHP are effectively insisting that dot net is a pre-requisite for PHP - madness!
And further investigation reveals I was wrong - it is now installed and working.
Download and install FastCGI from here:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=227219AA-6AEC-4B80-A9FA-76F811EE9E84&%3Bdisplaylang=en
This is a simple .msi install, no dot net required.
Restart IIS
Then download the NON Thread Safe PHP and install to IIS FastCGI Server option.
Now all working.
Here's how I installed PHP 5.3 on IIS 6 (running on Windows 2003 server):
http://www.howtoadvice.com/PHPIIS
This document is a little old and outdated but you should be able to use Web Platform Installer to install PHP on IIS6 for you.
I found a few related posts here but didn't get my answer. So posting again.
How would I install a PECL extension on windows? Say I want the PECL oAuth extension on Windows XP.
I know 2 methods, but none of them is working for me.
The site http://pecl4win.php.net/ is down for months. So I cant download the DLL. Is there any place we can download the DLLs from ?
running the command
pecl install oauth-0.99.9.tgz is throwing the error
The DSP oauth.dsp does not exist.
I tried with few other extensions also and getting the same error.
What am I missing here?
Releases can now be found here:
http://windows.php.net/downloads/pecl/releases/
If you need an extension not available there you might ask on the pecl-dev at lists.php.net mailing list.
I got what I am looking for in http://windows.php.net/downloads/pecl/releases/
Currently PECL for windows is in an odd reformation state. The reason being that I believe they are trying to provide VS2008 source versions. I would actually suggest using Zend Server for now until the windows half of the php group gets everything fixed up. Zend Server includes almost all of the extensions that you can find in PECL, and everything else, if you are lucky, you could find an compile yourself.
The PECL installer downloads the source code of the extension and tries to compile it with your local C compiler. The problem is that the whole process is designed for Unix systems, where a C compiler is available or can be easily installed. Setting an environment to compile C code under Windows is pretty complicate.
The ideal solution is getting a DLL file that someone already compiled. That's what the pcle4win site was for. However, there's currently no official repository to download PECL DLLs so you only have two alternatives:
Find an unofficial DLL somewhere in Google
Compile it yourself (another link) with Microsoft Visual Studio
It'd be cool that there was a DLL repository out there but I'm unaware of any.
The php source ships with a set of configuration scripts for windows (using windows script host) that mimics the autoconf tools as far as php is concerned. If you place the code for the extension in a directory under the /ext directory (where all the other extensions like bcmath, bzip, ... are located) you can let the buildconf-script create a makefile that includes the build rules for that (new) extension.
There's a step-by-step walk-through at http://wiki.php.net/internals/windows/stepbystepbuild which seems to be brief but feasible.
compiled oauth: http://windows.php.net/downloads/pecl/releases/oauth/
another pecl extension: http://windows.php.net/downloads/pecl/releases/
Is there a .dll version of the inclued extension for PHP?
The manual's link for Inclued on PECL4WIN doesn't help. I don't have a compiler to build my own DLL.
NOTE: The spelling "inclued" is correct!
Edit: I don't have a compiler, but do know someone with one... that's really a last resort though.
As best as I can tell, the Windows version doesn't exist anymore. Maybe whoever was maintaining it before had to stop for some reason.
I wonder what it takes to compile a PECL extension under Windows.
Edit
Here's some info on compiling a different PECL extension on Windows. You may be able to extrapolate to the inclued extension.
Edit
WAMP Server comes with PECL & PEAR. I can actually run the command pecl install inclued-alpha from the Windows command-line and it goes out and tries to grab the inclued extension from the PECL site.
Unfortunately it dies when it unpacks the .tgz file and tries to compile it
ERROR: The DSP inclued.dsp does not exist.
Which version of PHP are you running? I know someone that can compile you a version.
update
Alright, got this compiled - I've tested on my 5.2.6 build and it seems to work fine.
I've been told there may be problems using it in a threaded environment (e.g. Windows) but that's only a maybe. Also:
[13:10] <g0pz> the inclued dumpfiles will collide, because it uses PID # + increments
[13:11] <g0pz> but command line should work ok
[13:12] <g0pz> is the threaded apache version which'll have the same PID and well, a "possible" collision
So good luck with it :)
download
Poke me if you have any issues with inclued.
I'm just on the verge of putting out a release, I'll do a mkstemp() in windows instead of picking the PID + count.
Hopefully also with a gensvg.php which'll render the di-graph in-browser with pear::Image::GraphViz.
Isn't this their DLL download site? http://pecl4win.php.net/list_dlls.php
Unless I'm off on my browsing of the site?
Is this the page you are looking for?
http://pecl4win.php.net/list_dlls.php
..edit: (man, we are fast. I swear these two duplicate answers were posted simultaniously)
The official PHP for Windows site says:
PECL For Windows
PECL extensions for Windows is being worked on. The interface on the
pecl website will most likely be updated to offer Windows DLL download
right from that website. In the meantime, some extensions can be found
here.
That "here" link leads to http://downloads.php.net/pierre/, where you will find, among the multitude of other extensions, builds of inclued for PHP 5.2 and 5.3, VC6 and VC9, thread-safe and non-thread-safe. The one matching my version of PHP seems to be working.