I had the same problem, the solution is easier than other answers. 1) Install XAMPP in your pc, in this case, Windows 8. 2) Start > Administrative Tools > Services > Web Deployment Agent service and press STOP. Cannot load module 'pdo_sqlsrv' because required module 'pdo' is not loaded in Unknown on line 0 If I try php_sqlsrv_53_ts_vc9.dll, I get: the sqlsrv_connect() is. Php5ts.dll crashes when specific extensions are loaded. Issue with these dll's. If you cannot read the original bug report, then here; php_mbstring.dll php_gd2.dll.
Active5 years, 8 months ago
Php5ts.dll Error
I'm having some difficulty installing Apache 2.4.7 with PHP 5.5.7 on Windows Vista Service Pack 2.
When trying to start Apache, I'm getting the error:
Syntax error on line 176 of C:/Program Files/Apache/conf/httpd.conf: Cannot load C:/Program Files/PHP/php5apache2_4.dll into server: Access is denied.
I've looked at related topics, both on here and other sites, but the only issues I can find are where the error is 'The specified procedure could not be found' or 'The specified module could not be found', neither of which are relevant to my problem.
As you can see by the download links, I'm using Win32 versions of both Apache and PHP and the thread safe version of PHP. I've made sure that the C:/Program Files/PHP/php5apache2_4.dll file exists and reinstalled the Visual C++ Redistributable (http://www.microsoft.com/en-gb/download/details.aspx?id=30679; VSU_4vcredist_x86.exe). I've also tried moving both the Apache and the PHP folders outside of the Program Files but this didn't resolve the issue.
As the error I'm getting is 'Access is denied', I assume the issue is one of file permissions, but I'm not sure what permissions to change and what to change them to. So any assistance I can get will be much appreciated.
Edit
After some testing it seems that this problem only arises from PHP 5.5.4 onwards. Rolling back to 5.5.3 resolves the issue.
Edit 2
The issue seems to be that
php5ts.dll
cannot be read despite showing readable permissions. Even when programs are 'run as administrator', the file cannot be opened (but can be deleted and renamed). The file can be opened if the extension is changed to something other than dll
or exe
, and other files in the same folder can be opened even if renamed to php5ts.dll
(replacing the original).Community♦
MichaelRushtonMichaelRushton
2 Answers
Let’s analyse the facts:
- It works with an extension other than typical executable/code extensions like
.dll
,.exe
, etc. - It does not work with a different filename
- It worked just fine with a previous version; only the latest version is having trouble
- It works just fine in safe-mode
- Safe-mode disables all non-essential drivers and service
- It shows no locks or open-handles
- It says
access denied
- It cannot be moved, opened, copied, etc.
Points 1-3 indicates that something about the contents of the file are triggering the problem. This sounds a lot like some sort of anti-virus program throwing a false-positive.
Points 4-6 point to some sort of service or driver that is causing the problem.
Security software, like anti-virus programs usually have to run at a low-level to avoid letting malware sneak in, so they use drivers and run under the
System
process. This prevents most programs from being able to detect that a file is locked by the security program (which is why Unlocker could not find any open handles), and even if they can, they only show that System
has it open which isn’t very helpful.You said that you had AVG installed at one point, but uninstalled it. Apparently AVG did not uninstall completely (missed a reboot?) and so its drivers was left behind.
So now, whenever you access a file, the driver locks it to scan, but because the rest of the program is gone, there is no way for it prompt you if it thinks the file is suspicious. If the program were still installed, it would show a prompt and ask you want to do (or more likely these days, automatically quarantine/delete the file to “protect” you). Since the program is gone, the driver component sits there waiting, while keeping the file locked.
Since you had uninstalled AVG a while ago, it probably doesn’t have the latest definitions (if any?), so it would not be able to leave the latest version of
php5ts.dll
alone, and threw a false-positive, thus locking the file with no way of telling it knock it off.I don’t know if AVG ever complained about this specific version of
php5ts.dll
when it first came out, but it doesn’t now.Also, I don’t know if AVG is known for having a lot of false-positives, though I’m sure I’ve read that about some AV vender; but a cursory check seems to indicate that searching for
false positive
has at least 33% more hits for AVG than other AV vendors.This problem occurred because AVG did not uninstall completely and left remnants behind. Unfortunately this is an all–too-common problem. In the future, when uninstalling any software be it anti-virus programs, printer drivers/software, etc. always check if the vendor has provided some sort of removal/cleanup tool/utility (try different combinations of words to make sure you find it).
Most security software and printer vendors, as well as some other software firms and hardware manufacturers will have a (usually small) program that you can download and run to wipe out all traces of their software. Unfortunately, this is usually not built into the uninstaller and must be downloaded manually from their site. Sometimes it will be in the normal parts of their site, sometimes it will be buried somewhere in their support forums. (These are usually compiled from bug-reports from people who found left-over files, registry entries, services, etc. that are left behind by the uninstaller, which is why they are separate.)
In your case, you could have (and still should), use the AVG “remover”.
NB: when searching for a cleanup utility for security software, be careful not to mix it up with a virus-removal tool.
SynetechSynetech58.4k3030 gold badges191191 silver badges324324 bronze badges
Normally these kind of errors mean that you are missing a dependency that is used by
php5apache2_4.dll
, probably introduced in PHP 5.5.4.To verify which one is missing, use the Dependency Walker,that displays the missing DLLs in red color.Missing DLLs that are marked as 'delayed load' are usually not a problem.
Ensure that you do not have a 32-bit/64-bit mismatch.As everything is in
harrymcharrymcC:/Program Files
, I suppose that all software is 64-bit.In this case use also the 64-bit version of Dependency Walker.284k1616 gold badges302302 silver badges615615 bronze badges
Php5ts.dll Download
Not the answer you're looking for? Browse other questions tagged windowspermissionsapache-http-serverphp or ask your own question.
Over the weekend we upgraded some servers with Windows updates and now our PHP pages won't connect to our SQL Server 2008 R2 database. The pages were originally programmed with mssql_connect() and that function is now an undefined function. I have read somewhere that mssql_connect() no longer works after a certain update, so I am going to recode the few php pages that we still have using sqlsrv_connect(). My problem is, I cannot find the correct dlls to use in out setup.Our setup consists of:
![Cannot Load Php5ts Dll Fixer Cannot Load Php5ts Dll Fixer](/uploads/1/2/6/6/126646068/266845456.jpg)
Threadsafe
php5ts.dll
IIS (which I think means VC9)
and
SQL Server 2008 R2 on a 64-bit server
I don't see the proper dll to use for sqlsrv_connect()
When using php_sqlsrv_52_ts_vc6.dll iis will reset properly and sqlsrv_connect() doesn't throw an error. However, the connection won't establish and I get the following error:
Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -49 code => -49 [2] => This extension requires either the Microsoft SQL Server 2008 Native Client (SP1 or later) or the Microsoft SQL Server 2008 R2 Native Client ODBC Driver to communicate with SQL Server. Neither of those ODBC Drivers are currently installed. Access the following URL to download the Microsoft SQL Server 2008 R2 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712 [message] => This extension requires either the Microsoft SQL Server 2008 Native Client (SP1 or later) or the Microsoft SQL Server 2008 R2 Native Client ODBC Driver to communicate with SQL Server. Neither of those ODBC Drivers are currently installed. Access the following URL to download the Microsoft SQL Server 2008 R2 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712 ) [1] => Array ( [0] => IM002 [SQLSTATE] => IM002 [1] => 0 code => 0 [2] => [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified [message] => [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified ) )
When adding php_pdo_sqlsrv_52_ts_vc6.dll to the php_sqlsrv_52_ts_vc6.dll, I get the error:
Cannot load module 'pdo_sqlsrv' because required module 'pdo' is not loaded in Unknown on line 0
![Php5ts.dll download Php5ts.dll download](/uploads/1/2/6/6/126646068/663913905.jpg)
If I try php_sqlsrv_53_ts_vc9.dll, I get:
the sqlsrv_connect() is an undefined function.
and
PHP Startup: sqlsrv: Unable to initialize module
Module compiled with module API=20090626, debug=0, thread-safety=1
Php
PHP compiled with module API=20060613, debug=0, thread-safety=1