install libssh2.dll on windows - windows

I want to install SSH on my PC (windows 7 64bits).
But I have a problem with the installation of libssh2.dll file
I saved in: C: \ Windows \ SysWOW64
and even in C: \ Windows \ System32
and when I execute this command "regsvr32 libssh2.dll" in cmd as administrator I get this error message:
Libssh2.dll "The module" "was loaded, but the DllRegisterServer entry point was not found.
Verify that "libssh2.dll" is a valid DLL or OCX file and try again. "
I downloaded from this site file:
http://windows.php.net/downloads/pecl/releases/ssh2/0.12/
The only good that contains the libssh2.dll is x86 (knowing that I have a 64bits), is what may be causing the problem?
If someone knows a solution, please, share it, it is very important that I find a solution as soon as possible and thank you.

You have to put that libssh2.dll somewhere on the %path% so then the PHP extension can find it. Logic were to put it into your PHP dir (if you use the standard zipball from windows.php.net).

well why have you downloaded a 32 bit file to a 64 bit system
am I missing something here
You can only run a 32bit type if your Apache PHP and MySQL have 32bit running versions or 64 bit in your case. So if you are running a 32bit OS on a 64bit system then this is fine, if you are running 64 bit script on a 64 bit system and are trying to use a 32 bit script which I suspect you are then this is not fine!
I would therefore suggest that if this is the case you may have a mix match of OS Versus Script.
There are a few brave people operating in the 64 bit world and you should only ever use the stable versions of the product and like Apache unless you do you will not get the support you want because you have not utilised a stable version only and Apache will not support 64 bit, hence Apache lounge.
If you are running off localhost or 127.0.0.1, then running a stable 32 bit OS and running the 32 bit stable version is the only way you will get support.

Related

Install Memcached on Windows

While doing some web development, I needed to have Memcached (source code) installed on my local machine to closely simulate what was going on my server.
How to install Memcached on Windows?
Steps to install Memcached on Windows:
Download a stable version, in either 32-bit or 64-bit I have tested the 64-bit version.
Unzip it in some hard drive folder. For example C:\memcached
There will be memcached.exe file in the unzipped folder.
Open a command prompt (need to be opened as administrator).
Run c:\memcached\memcached.exe -d install
For start and stop run following command line
c:\memcached\memcached.exe -d start
c:\memcached\memcached.exe -d stop
As told in some previous comments the v1.4.4 is sometimes coming from a trusted source, sometimes not and it becomes hard to find. But there is now a very stable Windows native port for both 32 bits and 64 bits versions.
https://github.com/jefyt/memcached-windows
It's running well on our two PHP servers (PHP7 and PHP8).
Hope this helps.
Another Cygwin version is also available here and runs well too
https://github.com/nono303/memcached

Why can I not see winlogon.exe using Python on top of Cygwin?

This is the file I'm searching for on a Windows XP computer
C:\Windows\System32\winlogon.exe
I have displayed file extensions for all files, checked Show Hidden Files, checked Show Hidden System Files, and I can see the file using Explorer but cannot see the file with python. I cannot even see the file using:
os.system( 'dir C:/Windows/System32/winlogon.exe' )
I can see the file by using command prompt by running
dir C:\Windows\System32\winlogon.exe
Python's documentation: "On some platforms, this function may return False if permission is not granted to execute os.stat() on the requested file, even if the path physically exists."
I'd like to use the regular python libraries to be able to do this. I also tried open() command. How do I go about finding this file using Python?
Note: I'm running Python27 under Cygwin in Windows XP. This is because I'm in networking and it's easier to write scripts that run off of Linux, ssh into Windows' Cygwin sshd client, in order to run things.
The issue was that I was using 64 bit Windows with 32 bit Cygwin. Apparently 32 bit Cygwin can only see 32 bit files while 64 bit Cygwin can see all the files.
Source: http://cygwin.com/ml/cygwin/2006-01/msg00444.html
This may be true for all 32 bit applications running on a 64 bit environment. Another reason for many 32 bit applications to upgrade to 64 bit if the applications plan to be run on present 64 bit machines.

Launching 32 bit executable from command prompt in Win 7 64 bit OS

I am working on Windows 7 64 bit and have a wierd problem. I installed installAnywhere(a 32 bit application) in c:\Programs(x86) since I did not want to install it in the regular "c:\Program Files(x86)" to avoid the hassles of space in directory.
When I attempted to call the installanywhere from command prompt using the syntax:
cmd /c "c:\Programs(x86)\InstallAnywhereEnterprise\build\build.exe" ...
I get the error "c:\Programs" is not a command. The reason being it is attempting to look to installAnywhere in c:\Programs ignoring the (x86) part.
I did some investigation on launching 32 bit programs vs 64 bit programs from command prompt and tried using %windir%\SysWow64\cmd.exe. When I used "%windir%\SysWow64\cmd.exe",
the %programfiles% correctly points to "c:\Programs Files(x86)" but launching the command I mentioned just gives the same error. The FileSystemRedirector of Windows still
keeps pointing to c:\Programs. I reinstalled InstallAnywhere in the default location "C:\Programs Files(x86)" but I dont know why it does not work with "C:\Programs(x86)".
Does anyone know of a workaround?
Escape the parentheses.
"C:\Programs^(x86)\..."
Why exactly are you not ok with putting it in the regular Program Files directory? Space shouldn't be an issue.

32 bit builds on 64 bit CentOS 5 hosts

I am trying to build valgrind (3.7.0) on a 64 bit host (running CentOS 5.8). I need to use valgrind in examining the performance of a 32 bit program (built on a 32 bit host, I need 32 bit because the program needs to run on 32 bit and 64 bit hosts).
The problem is that my 64 bit host did not have gcc, so I installed gcc using "sudo yum install gcc" with the Stanford University repo mirror (the default repos for this 64 bit host were unavailable and thus yum was timing out). This allowed me to build valgrind, and it worked for local stuff (e.g. "valgrind ls -l"), but failed when trying to run it for the 32 bit program I have built on another host. I finally figured out that the configure script for valgrind was detecting that I did not have 32 bit build support on the host (by running "configure --enable-only32bit" which reported "checking for 32 bit build support... no").
So how do I get 32 bit support for gcc, etc? I tried "yum search gcc | grep i386" and then installing whatever looked like 32 bit C stuff ("sudo yum install compat-glibc.i386 compat-libgcc-296.i386 compat-libstdc++-296.i386 compat-libstdc++-33.i386 libgcc.i386 libstdc++.i386 libstdc++-devel.i386 libstdc++44-devel.i386 edac-utils.i386 edac-utils.x86_64 nspluginwrapper.i386") but "configure --enable-only32bit" still reports no 32 bit support.
PS: The yum.conf looks pretty minimal, i.e. no excludes. The only odd thing in it is "installonly_limit = 5"
OK, here is the scoop, thanks to Error "gnu/stubs-32.h: No such file or directory" while compiling Nachos source code
The short answer is to install glibc-devel.i386 (on CentOS 5.8 anyway... for different distros it has different names, e.g. glibc-devel.i686, libc6-dev-i386, etc), possibly in addition to the other packages I listed above (I did not uninstall those to see if glibc-devel.i386 was sufficient by itself).
I arrived at the right question to search for by examining the configure script and seeing that it tries to compile a minimal C program with "-m32" and if that fails then the configure script reports "no 32 bit support". So I created the classic HelloWorld C program and compiled it ("cc -m32 hello.c"). This complained of a missing header file "gnu/stubs-32.h". So a google search on "what package has gnu/stubs-32.h" took me to the stackoverflow page I cite above.
Try:
yum install glibc-devel.i686
if this doesn't work then check this solution: How to compile a 32-bit binary on a 64-bit linux machine with gcc/cmake

What is PnPUtil.exe location in 64bit systems?

I would like to install my USB device driver [.inf file] using PnPUtil.exe utility on both 32bit and 64bit systems for Windows Vista and Windows 7.
I tested on my machine [Windows 7 32bit] and everything was fine because PnpUtil.exe is located in: C:\Windows\System32\PnPUtil.exe.
But in 64bit Windows 7 the utility is not in this directory.
When I tried installing driver on different Windows 7 - 64bit machine I could found PnPUtil.exe in this location: C:\WIndows\winsxs\amd64_microsoft-windows-pnputil_31bf3856ad364e35_6.1.7600.16385_none_5958b438d6388d15\pnputil.exe
and the test was also fine.
So how can I exactly detect this directory on all platforms?
I noticed the path is dependent on built of Windows version - 6.1.7600.16385 - but how to detect the rest of path?
Or is the path always the same on all 64 bit platforms? And what about Vista?
The location of PnPUtil.exe seen from you installer application depends on the bitness of your installer:
32bit installer on 32bit Windows: %WinDir%\System32
64bit installer on 64bit Windows: %WinDir%\System32
32bit installer on 64bit Windows: %WinDir%\Sysnative (Windows Vista and up)
More info here:
http://www.samlogic.net/articles/sysnative-folder-64-bit-windows.htm
I recently came across this problem while trying to create an installer for ReplicatorG, which includes the Arduino drivers and some drivers specific to the Makerbot Replicator.
It seemed that there isn't any way to determine the location of PnPutil, and I instead had to acquire Microsoft's DIFx and use their redistributable DPinst.
There were a couple of strange things about DPinst that made it difficult to use. The first is that it didn't seem to run properly if it was located in a directory tree with spaces in the path. Who knows why. The second was that, because the Arduino drivers are unsigned, it needed to be run in legacy mode to keep from popping up a big, red dialog warning the user. To run it in legacy mode you use the /lm flag, but the flag must be lowercase. Again, it's unclear why.
In the end, I had the installer copy dpinst and each of the drivers to a folder in the temporary directory and then run dpinst. It pops up a nice little wizard and tells the user which drivers were installed.
From C:\WIndows\winsxs\
dir /s PnPUtil.*
will scan subdirectories

Resources