Red de conocimiento informático - Conocimiento informático - ¿Se puede configurar Zend Guard Loader para PHP 5.6 para PHP 5.6 seguro para subprocesos? ¿Por qué falla la configuración? ¿Ven y ayúdame a resolver el problema?

¿Se puede configurar Zend Guard Loader para PHP 5.6 para PHP 5.6 seguro para subprocesos? ¿Por qué falla la configuración? ¿Ven y ayúdame a resolver el problema?

Su problema de configuración

Usamos la versión php5.6 (

php5.6?VC11 x86 Non Thread Safe

) como para Por ejemplo, explique: x86 significa sistema de 32 bits, ?Non Thread Safe significa subproceso no seguro y ?Thread Safe significa subproceso seguro. Dirección de descarga del sitio web oficial de PHP: /en/products/loader/downloads#Windows ?

Aquí descargamos ZendGuard basado en el sistema Windows (si su sistema es Linux, descargue ZendGuard para Linux)

Descomprima y extraiga ZendLoader.dll (sistema Windows) o ZendGuardLoader.so (Linux), correspondiente a su versión de PHP.

¿Descargaste Zend Guard Loader?

para PHP 5.6, descomprime el archivo y copia ZendLoader.dll al directorio ext de la ruta de instalación de php,

En php Configuración ini agregada:

[Zend.loader]

zend_extension="C:/php/ext/ZendLoader.dll"

zend_loader.enable=1

zend_loader.disable_licensing=0?

zend_loader.obfuscation_level_support=3

zend_loader.license_path=

Para resumir:

Entornos Linux y Mac OS X

zend_extension="/usr/lib/php/modules/ZendGuardLoader.so" (reemplace con su propia ruta ZendGuardLoader.so)

zend_loader.enable=1

zend_loader.disable_licensing=0

zend_loader.obfuscation_level_support=3

Reinicie el servidor web.

Windows (versión PHP no segura para subprocesos)

zend_extension="c:/php/ext/ZendLoader.dll" (reemplace con su propia ruta ZendGuardLoader.dll)

zend_loader.enable=1

zend_loader.disable_licensing=0

zend_loader.obfuscation_level_support=3

Reinicie el servidor web.

Prueba: cree un nuevo documento de texto y complete el siguiente contenido: Guarde, luego cambie el nombre del archivo a phpinfo.php y colóquelo en el directorio raíz de su dominio. nombre y luego pase su nombre de dominio + phpinfo. Navegue a través de PHP. Si ve ZendGuard, significa que la instalación se realizó correctamente. De lo contrario, la instalación falla.

O: abra "Ejecutar" en Windows e ingrese cmd, cambie la ruta a su directorio de instalación de php, ejecute php -v y presione Enter. Supongamos: su php está instalado en el archivo php en la unidad e, el comando es el siguiente: ① cd E:/php y presione Enter. ②E: Presione Enter para ingresar la ruta que desea.

③php -v Enter? Si ve que zendloader está cargado, significa que la instalación se realizó correctamente. De lo contrario, la instalación falla.

Las razones por las que no se pudo instalar ZendGuard son las siguientes: ① Ha instalado una versión inferior a php5.3 ② No se admite PHP de 64 bits, solo 32 bits

③ ¡En Windows, Zend Loader solo funciona con NTS PHP!

ZendGuard solo admite la versión NTS (Non Thread Safe) de PHP, pero no la versión TS (Thread Safe).

Cómo juzgar:

Verifique el elemento Seguridad de subprocesos a través de phpinfo();. Este elemento es para verificar si es seguro para subprocesos. Si está: habilitado, en términos generales debería. sea ​​la versión ts, de lo contrario es la versión nts.

Mantenga presionada la tecla de acceso directo Ctrl+f, ingrese Thread Safety y verifique si las propiedades internas están habilitadas.

Se adjuntan las diferencias entre NTS y ​​TS

NTS: No seguro para subprocesos

Los subprocesos no seguros no realizan comprobaciones de seguridad de subprocesos (Subprocesos) durante la ejecución.

TS: Thread Safe

Hilo seguro, se realizará una verificación de seguridad del hilo (Thread) durante la ejecución para evitar que el método de ejecución CGI inicie un nuevo hilo cuando haya nuevos requisitos y se agote. recursos del sistema.

Notas

ZendGuard solo funciona con versiones de php que no son seguras para subprocesos