PHP run doesn't work with PHP 8.4.6 : jdk-22\bin\VCRUNTIME140.dll invalid version
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 935
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 17
Description
### Apache NetBeans version
Apache NetBeans 25
### What happened
On a new PHP project, when I "Run file", php is not lauch :
On the console window I have this :
> "C:\Program Files\PHP\php.exe" "-S" "localhost:8000"
> [Mon Apr 28 13:29:23 2025] PHP Warning: 'C:\Program Files\Java\jdk-22\bin\VCRUNTIME140.dll' 14.36 is not compatible with this PHP build linked with 14.43 in Unknown on line 0
> Done.
`php -i | findstr "Architecture Compiler"`
Compiler => Visual C++ 2022
Architecture => x64
`php -v`
PHP 8.4.6 (cli) (built: Apr 9 2025 09:45:13) (NTS Visual C++ 2022 x64)
### Language / Project Type / NetBeans Component
PHP
### How to reproduce
Install NetBeans 25
Create a new PHP Project
Add a index.php file
Right click > Run file
NB : if I launch "php -S localhost:8000" from CMD in the project folder everything is fine.
### Did this work correctly in an earlier version?
No / Don't know
### Operating System
Windows 11 Professional
### JDK
JDK22 and JDK24
### Apache NetBeans packaging
Apache NetBeans provided installer
### Anything else
I reorganized my System PATH variable environment to priorise SystemRoot\system32 dlls, witthout anything better.
Also, C:\Windows\System32 contains VCRUNTIME140.dll (multiples)
Finally I got all the VC_redist.x64.exe advised possible to be sure to have the required php dependencies.
But the issue is still ocurring on NetBeans 25 IDE, not on command line through CMD.
### Are you willing to submit a pull request?
No
### Workaround ###
Workaroud : I simply deleted the .dll from the JDK to force NetBeans to use search the C++ Redistribuable VS dll.
Contributor guide
Research direction
Reproduce the issue from a new PHP project by using Run file on Windows 11 with PHP 8.4.6 and JDK 22 or 24. Start from the NetBeans PHP Run file path that launches "php.exe" with the built-in server, then compare its DLL environment with the command-line invocation. Done means NetBeans starts the PHP server without the VCRUNTIME140.dll compatibility warning, without requiring deletion of a JDK DLL.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, php
- Domain
- developer-experience, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100