如何将Windows的运行时库可移植地包含到二进制PHP CLI中

时间:2019-01-23 11:18:02

标签: php dll windows-runtime

我正在开发一个小型应用程序,用户可以下载该应用程序,其中包括一个php文件和Windows解释程序PHP(PHP CLI)的二进制版本。所有文件都打包在一个.zip文件夹中,并且我们知道要启动内置PHP服务器,将其解压缩到任何硬盘上就足够了,将二进制文件的路径添加到PATH变量中,然后在命令行中转到该文件夹​​并执行

php -S localhost:80

但是我们也知道要使PHP在Windows上运行,我们还需要各自的运行时库。例如,对于最新的PHP 7.3,我们需要VC CRT 14(Visual Studio 2015)。我也希望将其打包在zip文件中,但是作为“便携式”文件,即不需要运行安装程序,并且即使不复制到C:/Windows/System32也是可能的,我的意思是我们只解压缩任何磁盘上的一个zip文件夹,即可运行cmd命令,一切无需任何其他操作即可运行。

在页面http://php.net/manual/en/install.windows.requirements.php上,我读到可以收集所有已安装的DLL文件。我怎样才能做到这一点?也许有现成的文件列表? (在PHP 7.3的VC 14中,我本来就很有趣,但对于PHP 5.6的VC 11,我也很感兴趣)

那么是否可以将库包含到二进制PHP CLI中,而无需安装库,甚至不将其文件复制到System32文件夹中?

有人有类似的经历吗?

1 个答案:

答案 0 :(得分:0)

哦,事实证明,只需要从Internet下载vcruntime140.dll并将文件放在PHP 7.3文件夹中就足以使PHP CLI在Windows上运行。无需安装任何东西,甚至无需复制到Windows/System32文件夹。