phpzend配置
① 安全线程的php5.6版本是否可以配置Zend Guard Loader for PHP 5.6,为什么配置失败,快来帮我解决问题
你配置的问题??
我们以php5.6 (
php5.6VC11 x86 Non Thread Safe
)版本为例,说明一下:x86是32位系统的意思,Non Thread Safe是非安全线程,Thread Safe是安全线程。php官网下载地址:http://windows.php.net/download/#php-5.6-nts-VC11-x86
下载好了php5.6 ,自己配置一下php.ini。
接下来,是我们说的重点。首先我们去官网下载,选择相适用的php版本的ZendGuard ,我们这里是php5.6版本,所以要下载适用它的ZendGuard版本。ZendGuard的官方下载地址:http://www.zend.com/en/procts/loader/downloads#Windows
我们这里是下载基windows系统的ZendGuard ,(如果你系统是linux,你就下载linux的ZendGuard)
解压并提取 ZendLoader.dll(Windows系统)或ZendGuardLoader.so(Linux),对应你的PHP版本。
下载了Zend Guard Loader
for PHP 5.6,解压文件后复制ZendLoader.dll到php安装路径的ext目录中,
在php.ini配置加入:
[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=
总结一下:
【Linux 和 Mac OS X环境下】
zend_extension="/usr/lib/php/moles/ZendGuardLoader.so"(替换成自己的ZendGuardLoader.so路径)
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
重新启动Web服务器。
【Windows(非线程安全的php版本)】
zend_extension="c:/php/ext/ZendLoader.dll"(替换成自己的ZendGuardLoader.dll路径)
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
重新启动Web服务器。
测试:新建文本文档,填写下面内容:<?phpphpinfo();?>保存,然后更改文件名为phpinfo.php放到你域名根目录,然后通过你的域名+phpinfo.php浏览查看,有查看到ZendGuard 就说明安装成功,否则就安装失败。
或者:打开windows的“运行”输入cmd,切换路径到你php安装目录,执行php -v 回车。假如:你的php安装在e盘的php文件 ,命令如下:①cd E:/php 回车。②E: 回车 进到你想要的路径下。③php -v 回车有查看到有加载zendloader 就说明安装成功,否则就安装失败。
安装ZendGuard失败原因如下:①你安装了低于php5.3的版本②不支持64位的php,只支持32位的
③Windows下,Zend Loader only works with NTS PHP!
ZendGuard只支持NTS(Non Thread Safe)版的php,TS(Thread Safe安全线程)版的不支持。
如何判断:
通过phpinfo(); 查看其中的 Thread Safety 项,这个项目就是查看是否是线程安全,如果是:enabled,一般来说应该是ts版,否则是nts版。
按住ctrl+f快捷键,输入Thread Safety ,查看里面属性是不是enabled。
附上NTS和TS的区别
NTS:Non Thread Safe
非安全线程, 在执行时不进行线程(Thread)安全检查。
TS:Thread Safe
安全线程, 执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。
ZendGuard只适用非线程安全版本的php
注意事项
② 请问大家谁把php5.6的Zend Guard Loader配置成功了
我也是同样埋锋大的问题。apache2.4.18+php5.6.17nts。配弯竖置zendguardloader后,phpinfo页面显示配基拆置成功,但打开网站后显示500错误。get overlap result error和End of script output before headers这两句关键句。网络了下找了半天也只有说是php的bug不知道怎么解决,往下就不明白了。
③ PHPNOW 中 ZEND的配置问题
zend下载不完全的。也没安装全的。require_once(Zend/Date.php)
④ 求windows下PHP+apache+mysql+zend的完整配置
首先配置环境
第一步:下载安装的文件
1. MySQL:版本 mysql-5.1.56-win32.msi;
2. Apache: 版本httpd-2.2.17-win32-x86-no_ssl.msi;
3. PHP5.3.5 版本php-5.3.5-Win32-VC6-x86.Zip
4. phpMyadmin 版本phpMyAdmin-3.4.0-beta3-all-languages.7z
5. PHP脚本集成开发环境zendstudio8.0
注意:一定要下载php-5.3.5-Win32-VC6-x86版本的,不要下载php-5.3.5-nts-Win32-VC6-x86版本,更不要下载VC9版本的,因为VC9是专门为IIS定制的,VC6 是为了其他WEB服务软件提供的,如 Apache。Apache服务器又有openssl和no_ssl之分,openssl表示带有openssl模块,利用openssl可给Apache配置SSL安全链接。
第二步:安装文件
1. 在要安装的磁盘建一个文件夹(笔者的做法是在D盘的根目录下创建一个php文件夹D:php)。
2. 安装Apache服务器,安装完成后的目录结果是:D:phpApache。(就是把Apache服务器安装在D:phpApache文件夹里,这个安装目录是可以自定义的,是Apache的安装目录。)
3. 把下载的php-5.3.5-Win32-VC6-x86解压的D:php目录中,可以把文件夹的名字改短,结果D:phpphp5
4. 安装MySql数据库,它的安装和一般情况一样。笔者把他安装在(D:phpMySQL)和php同目录。
第三步:配置PHP5.3.5
1. 配置PHP5.3.5,打开php安装目录(笔者是D:phpphp5)可以看到目录下有两个这样的文件php.ini- development和php.ini-proction,第一个是开发使用的配置文件,第二个是标准的生产环境的配置,选择前者借即可。
2. 选择php.ini-development复制一份到同目录下,并改名为php.ini使用文本工具打开。
查找
; On windows:
; extension_dir ="ext"
可以看到两个; extension_dir ="ext",选择On windows:下面的那个并去掉前面的分号;,修改为
; On windows:
extension_dir ="d:/php/php5/ext"
表示指定PHP扩展包的具体目录,以便调用相应的DLL文件。
注释:网络上有一些配置教程要求把php.ini复制到系统盘的windows文件夹下,笔者经过Windows7下的测试,没有必要,如果读者仍有疑虑,也可将php,ini放在windows文件夹下,呵呵。
3.php默认许多功能和扩展是关闭的,默认PHP并不支持自动连接Mysql,需开启相应的扩展库功能。查找
;extension=php_curl.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_mysql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_odbc.dll
;extension=php_xmlrpc.dll
把extension前面的分号去掉。
注释:网络上有些配置的教程是把php/ext内的这几个DLL文件拷贝到系统盘的system32文件夹下,原理都是一样的,这里是在php.ini文件中开启扩展程序,PHP5能够通过php.ini配置文件的配置自动识别DLL程序扩展,不用多此一举。
查找short_open_tag = Off把它修改成short_open_tag = On,让其支持短标签。
注释:如果希望加载其他模块,方法相同,去掉前面的分号。关于PHP的扩展库问题,我们待会还要讨论。
在更新配置时,最好备份php.ini文件,避免不必要的麻烦。
4.配置PHP的Session功能
(对于PHPer新手来说,这一步,以及开启文件上传扩展,调整时差问题,一开始可能不太常用,在以后的PHP学习中,在学到Session功能的应用时,相关资料上会有如何配置的介绍,以后霡霂也会更新和PHP配置高级应用的文章。)
在使用session功能时,我们必须配置session文件在服务器上的保存目录,否则无法使用session,我们需要在Windows 7上新建一个可读写的目录文件夹,此目录最好独立于WEB主程序目录之外,此处我在D盘根目录上建立了phpsessiontmp目录(这个是一定要建的,要不然在启动phpMyAdmin的时候就会报sesison启动不了的错误),然后在php.ini配置文件中找到
;session.save_path ="/tmp"
改为
session.save_path ="D:/phpsessiontmp"
这一步的配置对于phpadmin的配置是很重要的,phpadmin的设置有一个使用cookie登录,如果没有设置就会出错。大家可以试试。
对于初级的PHPer来说,建立session文件夹只是为了理解session的使用,就是保存网站浏览者和用户的登录信息,但是对于大型的网站,由于浏览量和用户的数目庞大,要从众多的用户session中检索出某位用户的信息就变得让人难以忍受了,这时候就会使用数据库保存和读取session了,在session和数据库的知识里,大家就能学习到相关内容,在这只是为了大家能够看的明白。
5. 复制php5ts.dll文件到WINDOWS/system32目录下。这是PHP5配置中简单而重要的一步,通过php5ts.dl系统就能都识别PHP5的脚本执行程序,并能够正确的解释执行PHP脚本。
注释:只有php-5.3.5-Win32-VC6-x86版本中才有php5ts.dll ,
php-5.3.5-nts-Win32-VC9-x86版本是没有的。
第四步:配置Apache
1. 打开Apache目录下conf目录中的httpd.conf文件,查找#LoadMole,在其末尾处大概是128行的地方(提示,如果读者找不到128在什么位置,也没什么关系,确切的位置是#LoadMole vhost_alias_mole moles/mod_vhost_alias.so下,也可以下载一个Notepad++,作为文本编辑软件,也可以用来编辑PHP脚本)
添加:
LoadMole php5_mole"D:/php/php5/php5apache2_2.dll"
PHPIniDir"D:/php/php5"
AddType application/x-httpd-php .php
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
目录结构根据用户自己目录配置,在更改配置时最好先备份原文件。
2. 修改具体的index文件先后顺序,由于配置了PHP功能,当然需要index.php优先执行
查找DirectoryIndex index.html 将其修改成
DirectoryIndex index.php default.php index.html index.htm default.html default.htm
配置这里是指在打开页面默认直接打开的页面,就好像我们登陆网站的主页,一般打开的都是名为index.php或者index.html的页面。
3. 我们知道Apache默认服务器执行WEB主程序的目录为Apache2.2/htdocs ,所以当你的WEB主程序目录变更时,我们需要修改相应的Apache配置,查找DocumentRoot将其修改为指向你需要放置web文件的文件夹上(笔者在D:/php目录中创建了一个www文件夹)所以DocumentRoot就是DocumentRoot"D:/php/www",读者可以根据自己配置来修改。
在安装Mysql时,也会出现提示,让读者选择数据库文件的存放位置,为了防止开发网站程序后期,上传网站程序时(一般自己建站都是租用虚拟主机)出现不必要的麻烦,建议把数据库表文件放在与PHP网页源码同一级的文件夹中,例如D:/php/SQldata。
4. 查找<Directory将其修改为你自己配置的DocumentRooot的路径(笔者是<Directory"D:/php/www">)
第五步:测试php+Apache+MySql是否配置成功
1. 打开MySql在MySql中创建一个新数据库和表。(笔者是userInfo数据库和users表就有id和name两个字段)
测试吗?简单就好,呵呵!!
2. 在上面创建的www文件夹中创建一个index.php文件使用EditPlus(又一个文本编辑器)或者其他文本工具打开。
3. 写入:代码如下:
<?
$DB_HOST ="localhost";
$DB_USER ="root";
$DB_PASS ="root";
$DB_NAME ="userInfo";
mysql_connect($DB_HOST,$DB_USER,$DB_PASS);
mysql_select_db($DB_NAME);
mysql_query("set NAMES gb2312");
$sql ="Select * From users";
$result = mysql_query($sql);
while($data=mysql_fetch_array($result)){
echo"------------------------";
echo $data['id']."<br/>";
echo $data['name']."<br/>";
}
mysql_close();
?>
说明 set NAMES gb2312 这个和mysql的数据库编码一致,如果server的编码是utf8,那这个也要用utf8的。
注释:关于测试的代码还有很多,但是都大同小异……
笔者在这里再介绍两个源码,分别这是PHP配置和Mysql数据库是否关联成功
源码1:PHP5配置相关信息
<?php
phpinfo();
?>
源码2:Mysql数据库是否关联成功
<?php
$link=mysql_connect("127.0.0.1","root","pwd");
//root为默认数据库用户名,pwd是你设置的数据库密码,如果使用127.0.0.1
//无法登录Mysql,打开C:WindowsSystem32driversetc下的hosts文件,
//查看 将 # 127.0.0.1 localhost的#号去掉。
if($link!=false)
{
echo"成功连接mysql服务器";
}
else
{
echo"与本地Mysql服务器连接失败";
}
mysql_close();
?>
4.启动Apache服务器,在浏览器输入http://localhost/回车。
如果进入相关页面,可以看到PHP的配置信息Mysql链接成功的页面:表示我们大功告成了!祝贺祝贺!
注释:PHP对中文支持不好,文件名和文件夹名最好用字母或英文。
第六步配置phpMyadmin
Phpadmin是使用PHP脚本编写的Mysql数据库图形化管理软件,应用简单普遍。
phpMyAdmin 默认下载后,需要进行安装配置后,才可以正常使用。安装配置phpMyAdmin软件,只要把握几个要点,进行起来就很简单了。下面,就是我常用的配置方法。
前提条件:
网站根目录:D:wwwhost
PHP根目录:D:wwwphp5
MySQL根目录:D:wwwmysql
phpMyAdmin根目录:D:wwwhostphpmyadmin
1. 首先解压phpMyAdmin-3.4.0-beta3-all-languages.7z,然后重命名为phpmyadmin,将其复制到php脚本的WEB主程序目录下,我复制到D:www目录下。
2. 从“D:wwwhostphpmyadminlibraries”目录下找到“config.default.php”。
使用zendstudio8.0打开(如果你安装了这个PHP安装环境的话,zendstudio8.0是大家公认的最好的PHP脚本的集成开发工具),查找以下信息,并做出相应更改。
$cfg['PmaAbsoluteUri'] = '';改为$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/';
说明:定义PHPMYADMIN位置,一般来说应该是(http://localhost/phpmyadmin/)本地测试填写:localhost,phpadmin就是phpMyadmin在php的主目录下的文件夹名字;
服务器测试填写:ip or domain,即你的网站的域名。
$cfg['Servers'][$i]['host'] = '';改为$cfg['Servers'][$i]['host'] = 'localhost';
(说明:默认无需修改)
$cfg['Servers'][$i]['user'] = '';改为$cfg['Servers'][$i]['user'] = 'root';
说明:默认网站数据库用户名
$cfg['Servers'][$i]['password'] = '';
改为$cfg['Servers'][$i]['password'] = '****';
说明:输入你数据库的密码
$cfg['blowfish_secret'] = '';改为$cfg['blowfish_secret'] = 'cookie';
说明:本地无需设置,网络需设成cookie
$cfg['Servers'][$i]['auth_type'] = 'config';改为$cfg['Servers'][$i]['auth_type'] = 'cookie';
说明:网络须启用cookie来防止恶意注入
$cfg['blowfish_secret'] = '';改为$cfg['blowfish_secret'] = 'cookie';
3.网络上相关教程,大多会让大家把从“D:wwwhostphpmyadminlibraries”下拷贝一份“config.default.php”到“D:wwwhostphpmyadmin”下,重命名为“config.inc.php”,那些事phpMyadmin3以前的的版本的配置方法,在phpMyadmin3发布以后,就不需要这样做了,只要修改libraries/config.default.php配置文件的配置项即可。这是因为phpmyadmin现在的版本默认首先加载libraries/config.default.php配置文件的内容,如果有config.inc.php,就会在config.inc.php配置文件中找到相同的变量并覆盖,所以如果没有特别的设定,你不需要再去创建一个config.inc.php,只要在libraries/config.default.php进行相关的配置即可。
4.关于短语密码的问题。现在phpMyadmin版本可以不用设置短语密码了。
测试为:
在浏览器上输入:http://localhost/phpmyadmin/index.php, 出现 登录界面,输入mysql的用户名和密码,就可以进去了。
配置Zend Framework环境
比如你的httpd.conf的配置如下:
<virtualHost *:80>
ServerName www.example.com
DocumentRoot "C:/example"
<Directory "C:/example">
AllowOverride all
Order Deny, Allow
</Directory>
</virtualHost>
关键的是需要在example的根目录下面添加一个目录:
.htaccess,这个是用来进行处理所有到该目录下面的请求:
SetEnv DEBUG_ENV TRUE
RewriteEngine On
RewriteCond &{REQUEST_FILENAME} -s [0R]
RewriteCond &{REQUEST_FILENAME} -l [0R]
RewriteCond &{REQUEST_FILENAME} -d
RewriteCond ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
这样在index.php中配置需要的环境,比如:
<?php
// 定义应用程序当前是否为调试模式
defined('DEBUG')
|| define('DEBUG', (getenv('DEBUG_ENV') == 'TRUE' ? true : false));
// 定义应用程序根目录
defined('PROJECT_PATH')
|| define('PROJECT_PATH', dirname(dirname(dirname(__FILE__))));
// 定义系统配置文件路径
defined('APPLICATION_CONFIG_INI')
|| define('APPLICATION_CONFIG_INI', PROJECT_PATH . '/applications/example/config/application.ini');
// 重新定义PHP默认搜索目录
set_include_path(implode(PATH_SEPARATOR, array(
PROJECT_PATH . '/library',
PROJECT_PATH . '/models',
get_include_path()
)));
// echo get_include_path();exit;
// 调试模式时开启错误输出
if (DEBUG) {
error_reporting(E_ALL);
ini_set('display_errors', true);
} else {
error_reporting(8191);
}
// 设置时区
date_default_timezone_set('Asia/Shanghai');
// 启动Light类库自动载入功能
require_once 'Light/Loader.php';
Light_Loader::autoLoad();
// 载入配置文件
//require_once 'Hexin/Config/Ini.php';
$appcfg = new Hexin_Config_Ini(APPLICATION_CONFIG_INI, !DEBUG);
require_once 'Zend/Registry.php';
Zend_Registry::set('appcfg', $appcfg->read());
// 记录整个响应所消耗的时间
$clock = Light_Debug_Clock::getInstance();
ob_start();
// 路由分发请求
$frontController = Light_Controller_Front::getInstance()
->enableAutoRender()
->setMolePath(PROJECT_PATH . '/applications')
->setRouter(new Light_Router_Rewrite())
->registerPlugin(new example_Controller_Plugin_Auth())
->dispatch();
// 输出整个响应所消耗的时间(Head头方式)
$clock->storage('Dispatch');
ob_end_flush();
⑤ php空间如何安装zend
Zend
Optimizer/3.3.3
解密加代码优化,提高PHP应用程序的执行速度,显着降低服务器的CPU负载。
Zend
Guard
Loader/5.5.0/6.0
解密加代码优化,提高PHP应用程序的执行速度,显着降低服务器的CPU负载。
PHP
5.3.X
开始
Zend
Optimizer
正式被
Zend
Guard
Loader
取代了。安装方法有所不同,以下是安装
Zend
Guard
Loader的具体方法:
下载地址:ZendGuardLoader-php-5.3-Windows.zip
下载好后解压压缩包,找到
ZendGuardLoader-php-5.3-Windows\ZendServer\lib\loader\php-5.3.x
目录下的
ZendLoader.dll
文件,将它放到你的php目录下ext下:
再编辑php.ini文件,添加一段代码(如):
?
1
2
3
4
5
6
7
8
9
10
11
[Zend.loader]
zend_loader.enable=1
zend_loader.disable_licensing=1
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
zend_extension=”D:\php\ext\ZendLoader.dll”
保存php.ini配置文件,重启apache或者返裂灶IIS
在你指定的www目录下新建一漏扮个phpinfo()文件.输入
<?php
echo
phpinfo();
?>
如果探针显示Zend
Guard
Loader
表明Zend
Guard
已经配置成功;
另附:php5.3不支持ZendOptimizer的解决办法(Zend
Guard
Loader)
PHP
5.3
下,Zend
Optimizer
已经被全新的
Zend
Guard
Loader
取代
1.
下载
Zend
Guard
Loader
压缩包。(官方下载地址:http://www.zend.com/en/procts/guard/downloads)
2.
解压并提取
ZendGuardLoader.so(Linux)或
ZendLoader.dll(Windows),对应你的PHP版本。
3.
在你的
php.ini
文件添加下面一行,用来加载
Zend
Guard
Loader:
Linux
和
Mac
OS
X:zend_extension
=
完整路径/ZendGuardLoader.so
Windows(非线程安全):
zend_extension
=
完整路径/ZendLoader.dll
4.
在
php.ini
额外新增一行,启用
Zend
Guard
Loader:源迟
zend_loader.enable
=
1
5.
可选:可以在
php.ini
文件添加以下行到
Zend
Guard
Loader
配置位置:
;禁用许可证检查(为了性能的原因)
zend_loader.disable_licensing
=
0
;让
Zend
Guard
Loader
支持混淆级别。级别在
Zend
Guard
的官方详细文档。
0
–
不启用混淆
zend_loader.obfuscation_level_support
=
3
;从这个路径寻找Zend产品授权的产品许可证。欲了解更多有关如何创建一个许可证文件的信息,请参阅
Zend
Guard
用户指南.
zend_loader.license_path
=
6.
如果您使用
Zend
debugger,请确保加载
Zend
guard
Loader。
7.
如果您使用
ioncube
loader,请务必在它之前加载
Zend
guard
Loader。
8.
重新启动Web服务器。
⑥ PHP中zend framework 框架求多模块配置
1.x版本还是2的?
⑦ zend studio 8怎么配置来运行php
如果要是连接服务器的话 首先得链接服务器 通过Window→open Perspective →other→Remote Systems Explorer打开远程系销陪统前景。
通过Window→Show View→Other→Remote Systems→Remote Systems→Remote Systems打开查看远程视图。
然后出现对话框 具体内容如下
1、Host Name:为FTP/SSH服务器输入一个有效的主机名或是IP地址。
2、Connection name:输入一个连接名。一个连接名是在Zend Studio系统里亏唤蠢标识服务器的别名。
3、Description:输入一个描述用来帮助确认你的链接。(可选)
4、Verify host name:在创建连接前,为了证实主机名链纯的存在,为Zend Studio标记复选框。
然后登入服务器密码就行了
⑧ Mysql+PHP+Zend+Apache 安装方法 配置方法
在httpd.conf中添加:
“LoadMole
php5_mole
"d:/php/php5apache2_2.dll"
AddType
application/x-httpd-php
.php”
如果你要是为了学写制作网页和编写php程序的话,完全不用自己手动的配置环境。可以考虑使用现成的安装包。比如在windows下比较流行的:WAMP,AppServ,或是XAMPP。
在Macintosh下的:MAMP
等等。
Good
luck.
⑨ 求iis7 +php 5.5.7 +zend10.6 +mysql配置
IIS中配置PHP+MySQL的最简洁方法(无任何出错)
这个方法不一定对专业喊首的系统管理员或类似专业人员有价值,但拿困对于爱好者、新手、开发人员来说,一个可以随时随地,方便快捷的配置起稳定高效的PHP+MySQL环境,还是具有很大的参考价值的。
PS:本贴可以是精华
========================
第一步 配置IIS
========================
控制面板>>添加功能>>IIS(别忘了勾选CGI那一项,那是FastCGI模块)
========================
第二步 安装web平台安装器
========================
上微软网站free download下载,需要.net,如果你没有,它会提示你安装。装完WPI(web 平台安装器就关闭,因为我们要在IIS里用它,而不是在桌面直接用它,当然直接用它也没什么不好)
========================
第三步 利用WPI配置PHP
========================
打开IIS管理器>>左边栏右键创建你的测试站点>>打开WPI,等他“云”完,然后你选择产品>>框架>>PHP>>添加>>安装(你可以选择去掉PHP和SQL的消渗念驱动程序,因为我们要用MySQL,不过留着也没什么不好)
========================
第四步 相同方法配置MySQL
========================
这一步就不写了,参考第三部,方法是产品>>数据库>>MySQL>>添加>>安装>>输入密码。
一切让微软给你解决,他的系统,他最清楚该如何搭配这些,而且WPI(平台安装器)。
这是我发表在php吧的帖子,请看:http://tieba..com/p/2407423245
⑩ 如何将PHP中文/英文手册配置到Zend Studio 8
打开软件世兄绝,找到窗口-首选项-PHP-PHP Manual,
点击新建(New),配置完成!您可以选取一个PHP函数,然后尘配使搜姿用右键的PHP Manual搜索中文手册结果即可!