首页 文章

如何在Xampp上安装Zend Guard Loader

提问于
浏览
1

我一直在使用Zend Guard编码的软件 . 由于PHP 5.3版本不支持Zend Optimizer,因此我必须 install Zend Guard Loader 才能在我的windows xampp安装上运行该应用程序 .

我下载了Zend保护加载器并复制到xampp文件夹 . 然后我将以下行编辑到php.ini文件中 .

zend_extension ="E:\xampp\ZendGuardLoader\php-5.4.x\ZendLoader.dll"
zend_loader.enable=1

然后重新启动xampp,但它给了 php5.dll missing error 然后我从互联网下载了php5.dll文件并上传到xampp / php文件夹并编辑了以下文件 xampp\apache\conf\extra\httpd-xampp.conf 这里我编辑了这一行

LoadFile "/xampp/php/php5ts.dll"

to LoadFile“/xampp/php/php5.dll”

然后php5.dll错误消失并发生以下错误:

“程序入口点zend_new_interned_string无法位于动态链接库E:\ xampp \ ZendGuardLoader \ php-5.4.x \ ZendLoader.dll”

当我试图在互联网上搜索时,发现这是问题,在xampp php中启用 'Thread Safety' . 我没有't know how to disable '线程安全'或如何使用 'Non Thread Safety' php版本与xampp .

请帮助我在Windows 8 os Xampp 1.8.1上使用php 5.4.x进行 install Zend Guard Loader

2 回答

  • 2

    在浪费任何时间检查之前,查看phpinfo()输出是否显示已启用线程安全 . Zend Extensions是NTS(非线程安全),所以如果它被启用,它就无法加载,你需要NTS PHP才能加载Guard Loader扩展 .

    Thread Safety不能被禁用,它是一个编译标志以及编译后的二进制文件是如何工作的 . 您需要加载一个非线程安全的不同Apache PHP模块(php.net发布TS和NTS版本) .

    看看http://forums.zend.com/viewtopic.php?f=57&t=43013

  • 2

    所以,我有同样的问题 .

    XAMPP(版本3.2.1)与Thread Safe PHP编译捆绑在一起 . 这是php二进制文件使用标志来编译强制“Tread Safe”,因此,它无法切换回相同的二进制文件 .

    您需要为编译的非Tread Safe(NTS)更改XAMP的二进制文件 .

    我跟着this guide替换了XAMP中的PHP以使用NTS . 该指南解释了如何启用 FastCGIZend OPcache ,因此如果您复制粘贴步骤,您应该让XAMP在FastCGI模式下运行PHP . 相关步骤是:

    确定正在运行的Apache服务器的版本 . [..]下载最新的Windows二进制文件 . 选择非线程安全(你可能选择更新版本的php)[...]为新版本的PHP创建一个新文件夹(例如c:\ xampp \ php56-nts) . 编辑Apache配置文件(例如:c:\ xampp \ apache \ apache \ conf \ extra \ httpd-xampp.conf)并替换php5模块配置中的路径,您可能需要更改.dll的名称作为php二进制文件从php.net下载可以用于开发或 生产环境 ,你需要根据你的需要创建一个php.ini(你可以使用的文件夹中有2个模板:php.ini-development和php.ini - 生产环境 )

    有了这个,基本上你有XAMPP来运行PHP的NTS版本 . 不管怎样,你可以安装 Zend Guard Loader as the guide says . 基本上:

    下载Zend Guard Loader二进制文件找到ZendLoader.dll文件并将其粘贴到php for xampp的库路径中 . 走这条路 . 配置php.ini以使用ZendLoader;添加zend_extension = <full_path_to_ZendLoader.dll> zend_extension = <full_path_to_opcache.dll>添加任何其他可选配置 . 重新启动Apache,它应该使用NTS版本的PHP重新启动 . 您可以使用localhost / xampp / phpinfo.php进行测试

相关问题