How to fix 'php_redis.dll load failed , %1 is not a valid Win32 application' error on windows - phpredis

I added
php_redis.dll file in /php/ext folder
and added
extension=redis in php.ini file.
I am using 64bit xampp server on windows 10. This is what I see in the error log:
Warning: PHP Startup: Unable to load dynamic library 'php_redis.dll'
(tried: C:\xampp\php\ext\php_redis.dll (%1 is not a valid Win32
application.), C:\xampp\php\ext\php_php_redis.dll.dll (The specified
module could not be found.)) in Unknown on line 0
Anyone faced similar issues? Do we have a working solution for this?

Okey guys, i have same errors and do some tests))
i have only x86 based solution, i use this for my web devel, worked 100% on Windows 10 x64, so
Download and install Redis 3.2.100 x64 for Windows, (or latest https://github.com/MicrosoftArchive/redis/releases/), with this link:
https://github.com/microsoftarchive/redis/releases/download/win-3.2.100/Redis-x64-3.2.100.msi
Check and save in text file your version of PHP with PHPInfo and additional info: VC14 or VC15, x86 or x64, Thread Safe or Not Thread Safe - you may check with this command: php -i|findstr "Thread" - if enabled you use TS version.
If you not have installed PHP download and unpack (install) PHP v7.3.25 NTS Win32 VC15 x86, with this link:
https://windows.php.net/downloads/releases/php-7.3.25-nts-Win32-VC15-x86.zip
Download Redis v5.1.1 for PHP 7.3 NTS VC15 x86, (or latest https://pecl.php.net/package/redis click on DLL and choose needed version PHP 7.x and check TS or NTS version) or use this link:
https://windows.php.net/downloads/pecl/snaps/redis/5.1.1/php_redis-5.1.1-7.3-nts-vc15-x86.zip
Create dir with small symbols:
C:\php\ext
Unpack php_redis-5.1.1-7.3-nts-vc15-x86.zip archive and copy two files to C:\php\ext directory:
php_redis.dll
php_redis.pdb
Edit your php.ini in PHP dir:
search & edit your "Paths and Directories" section, like that:
;include_path = ".;c:\php\includes"
;http://php.net/include-path
;extension_dir =
doc_root =
user_dir =
also search & edit your "Dynamic Extensions" section, add line:
extension=php_redis.dll
Run web server and test your PHPInfo, you need to see Redis extension section!

Related

Could not Load timescaledb-1.6.0.dll - Not a Valid Win32 Application

I've come across an issue when attempting to load timescaledb using PostgreSQL v10.11... Upon executing the following command:
CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
I'm greeted with the following error:
ERROR: could not load library "<postgresfolder>/lib/timescaledb-1.6.0.dll": %1 is not a valid Win32 application.
postgresfolder = The path to my postgres installation location.
I've attempted this with PostgreSQL v11.6 aswell, with the same outcome. I don't believe it to be a dependency issue (Visual Studio C++ Redist. 2015) as I meet all the prerequisites listed # https://docs.timescale.com/latest/getting-started/installation/windows/installation-windows.
Any help would be greatly appreciated!
(EDIT): The installation is being performed on Windows 10, 64bit.
I got this problem due to ssleay32 and libeay32 dlls. Get binaries from https://get.enterprisedb.com/postgresql/postgresql-11.4-1-windows-x64-binaries.zip and copy them from postgresql-11.4-1-windows-x64-binaries/bin into your /bin folder. If they did not exist, still copy and keep them there.
Also, it looks like timescaledb only works with 11.4 version if you wanna stick with 11.

ERROR: could not load library "oracle_fdw.dll": %1 is not a valid Win32 application

Things I've done, in order:
Downloaded and installed PostgreSQL server 9.5.7 64bit from entreprisedb.com, latest version for which oracle_fdw is available
Installed the other stuff (postGIS, Npgsql, pgAgent, etc), in 64bit variant where it gave me the choice, in the second part of the installation
Downloaded oracle_fdw-1.3.0-pg95-win64.zip from https://github.com/laurenz/oracle_fdw/releases/ and extracted all the files to where they are supposed to be, C:/Program Files/PostgreSQL/9.5/....
Ran the following command in pgAdmin:
CREATE EXTENSION oracle_fdw;
and I got the following error:
ERROR: could not load library "C:/Program Files/PostgreSQL/9.5/lib/oracle_fdw.dll": %1 is not a valid Win32 application.
Either the oracle_fdw.dll is corrupt, or it not all of your software (Oracle client?) is 64-bit.
You will need a 64-bit Oracle client installed. See the README:
Oracle client version 10.1 or better is required.
oracle_fdw can be built and used with Oracle Instant Client as well as with
Oracle Client and Server installations installed with Universal Installer.
Binaries compiled with Oracle Client 10 can be used with later client versions
without recompilation or relink.
(There are oracle_fdw binaries for PostgreSQL 9.6 as well.)

PHP 7.x connection with MSSQL server with MAMP

I am trying to connect mssql server to PHP 7.0.8 through MAMP. I have tried using freetds. On some blog people are saying to use pdo_dblib.so extension but it's not working.
Please guide me through the process of connection.
For those who still have this problem:
/Applications/MAMP/bin/php/php7.2.1/bin/pecl install sqlsrv pdo_sqlsrv
Edit php.ini:
extension=sqlsrv.so
extension=pdo_sqlsrv.so
If necessary, use brew install autoconf if you don't have it already.
While the answers posted by Vague Space and Pedro Santiago helped, I still think the answers are a bit lacking and incomplete… Or ask you to do too much. Honestly the official Microsoft instructions are overkill when they state you need to install their Docker image of SQL Server and such? C’mon… Most people just need the drivers installed to make a connection.
So here is my answer based on my experience installing the pdo_sqlsrv.so and sqlsrv.so modules in MAMP (version 5.2) but should work for most any MAMP version that supports some flavor of PHP 7.
Adjust the .bash_profile so MAMP’s binaries and libraries are a part of your $PATH settings.
First, adjust your .bash_profile so the MAMP stuff is in there; makes it easier to launch and work with MAMP specific binaries and ensures MAMP libraries are checked when doing things like installing new modules like this.
The way I like to do it is like this; set $MAMP_BIN and $MAMP_PHP variables like this and then rebuild the $PATH variables:
# MAMP stuff.
export MAMP_BIN="/Applications/MAMP/Library/bin";
export MAMP_PHP="/Applications/MAMP/bin/php/php7.2.10/bin";
# Final $PATH setting.
export PATH="/usr/local/bin:/usr/local/sbin:$MAMP_BIN:$MAMP_PHP:$PATH";
Save it and just log out of the Terminal session and back in, or just resource the .bash_profile like this:
source ~/.bash_profile
With that done, let’s install the core Microsoft ODBC binary stuff.
Install the Microsoft ODBC stuff.
Do this to install the core ODBC stuff on macOS; be sure to have Homebrew installed:
brew tap microsoft/SQLSRV-release https://github.com/Microsoft/homebrew-SQLSRV-release
brew update
brew install --no-sandbox msodbcsql17 SQLSRV-tools
Then when that’s done, go ahead and install the Unix ODBC stuff like this:
brew install unixodbc
Now install the actual PHP modules via PECL:
pecl install sqlsrv pdo_sqlsrv
With the modules installed, add them to the php.ini file in MAMP so PHP can recognize it. For PHP 7.2.10 on MAMP 5.x it should be located here:
/Applications/MAMP/bin/php/php7.2.10/conf/php.ini
And just add these config lines to the bottom of the file:
; Enable 'Microsoft Drivers for PHP for SQL Server' extension module
extension = sqlsrv.so
extension = pdo_sqlsrv.so
; Configuration
;sqlsrv.WarningsReturnAsErrors = 1
;sqlsrv.LogSeverity = 0
;sqlsrv.LogSubsystems = 0
;sqlsrv.ClientBufferMaxKBSize = 10240
;pdo_sqlsrv.log_severity = 0
;pdo_sqlsrv.client_buffer_max_kb_size = 10240
Note, most tutorials—and even PECL when you install the modules—simply mention adding extension = sqlsrv.so and extension = pdo_sqlsrv.so to the php.ini config, but these config options are the ones that RedHat has when installing the PHP SQLSRV via the Remi repo. Yeah, most of them are commented out but I still like having it there for reference.
Follow this guide through step 3: Microsoft PHP drivers for SQL Server
Find where pecl drops extensions in your local machine
Copy the files pdo_sqlsrv.so and sqlsrv.so into your MAMP's PHP extension directory. Mine was located at /Applications/MAMP/bin/php/php7x.x/lib/php/extensions/no-debug-foo-bar
Edit your php.ini file to include the new extensions:
extension=sqlsrv.so
extension=pdo_sqlsrv.so
Restart your MAMP servers.
having just done this in 2019 with MAMPPRO4 on windows 10 (follow upto step 4 to test that you are connected and then do point 9 ) point 5 onwards is for changing the path in the command line
download dll files from microsoft
https://www.microsoft.com/en-gb/download/details.aspx?id=20098
follow the instruction after running the exe file and place the dll
files into the extension directory of the php version that you are
using eg: MAMP/bin/php/php7.1.29/ext
check phpinfo for the Loaded Configuration File of the php.ini file
add the 2 dll files depending on your requirements (I wasted time by
using the 64.dll) make sure you are using ts(thread safe) not
nts(none thread safe) in the file name of the dll
extension=php_sqlsrv_71_ts_x86.dll
extension=php_pdo_sqlsrv_71_ts_x86.dll
in control panel search for advanced system settings and click
click Environment Variables
under system variables not user variables click path and click edit
click new and add C:\MAMP\bin\php\php7.1.29 (Edit this to your path)
restart MAMP
open a new command line an enter php -v
you should see the php version displayed

Unable to find an entry point named 'Environment_SetEnv' in DLL 'Magick.NET-Q8-x64.Native.dll'

Upgraded to latest ImageMagick / Magick.NET (7.0.2.901), and it built and ran fine locally, but explodes on the server with this error.
Unable to find an entry point named 'Environment_SetEnv' in DLL 'Magick.NET-Q8-x64.Native.dll'.
Seems to be a new issue. Judging by the change desc here:
https://magick.codeplex.com/discussions/650746
The VC Runtimes are no longer required, so installing them wouldn't be the issue - and, I've installed 2008, 2012 and 2015 VC runtimes for prior versions of the library, which worked fine.
Windows Server 2008 64-bit, 64-bit .Net 4 in IIS.
Current workaround is to roll back to 7.0.0.22, which runs without error.
Install-Package Magick.NET-Q8-AnyCPU -Version 7.0.0.22
I had this issue a couple months back and eventually found two separate causes:
AnyCPU Conflict with Previous Versions
Problem: Magick.NET caches the native library in a temp directory unless it already exists (Relevant source code). Since I had previously tested with the Q8-x64 version (which doesn't test for CPU architecture), the Magick.NET-Q8-x64.Native.dll already existed and was not overwritten.
Resolution: Delete the native library's temp directory. On my version of Windows, it was located at %TEMP%\Magick.NET.{TargetFramework}.{MagickNETVersion}. The Q8-AnyCPU version then extracted a new native library with the Environment_SetEnv method.
Lack of Permissions in Cache Directory
Problem: The native library was cached in a directory with restricted permissions for executing code.
Resolution: Change the cache directory's location. My solution is the following code.
#if DEBUG
private static bool MagickCacheDirectoryIsSet = false;
public DefaultConstructor()
{
if (!MagickCacheDirectoryIsSet)
{
ImageMagick.MagickAnyCPU.CacheDirectory = #"path\to\more\permissive\directory";
MagickCacheDirectoryIsSet = true;
}
}
#endif
Follow these steps:
Go to NuGet package manager for the solution (not the project)
Uninstall any previous versions of Magick.net
Install new version of Magick.net to desired projects
Go to the bin folder of the main project and delete any magick.net file
Run your solution
I successfully tested this method on VS2017 and Magick.net 7.6.1 (previous installation was 7.4.4)
Had the same issue, deleting the all magick dlls from the bin folder and reinstall solved it.

Google App engine Deploy Exception : Cannot get the System Java Compiler. Please use a JDK, not a JRE

Error message :
------------ Deploying frontend ------------
Preparing to deploy:
Created staging directory at: 'C:\Users\JAMESY~1\AppData\Local\Temp\appcfg5730205859174689794.tmp'
Scanning for jsp files.
Compiling jsp files.
java.lang.RuntimeException: Cannot get the System Java Compiler. Please use a JDK, not a JRE.
Debugging information may be found in C:\Users\James Yang\AppData\Local\Temp\appengine-deploy1938777867658475857.log
I have added
-vm
G:\Jdk8\bin\javaw.exe
in eclipse.ini
and My java_home is G:\Jdk8\bin\
Make sure you have the Java Development Kit (JDK) installed in your computer.
Check if you have Java 8 installed, while trying to compile with Java 7, or viceversa. In other words, check if the JDK is set to the wrong version.
Make sure the JDK is FIRST in your Path, by placing %JAVA_HOME%\bin at the beginning of your Path in your System variables.

Resources