首页 开发编程 正文

本地php版本怎么看

php的扩展模块都放在ext/目录下,我们要做一个分析config文件的模块,另外需对主目录下的configure和internal_functions.c作一些修改。php会通过模块入口找到你写的函数下面几个函数定义是用宏进行定义的。...

本地php版本怎么看,phpwind是什么?

HPWind(简称:PW,中国国家版权局著作权登记号为:2004SR06082)的使命是让网站更具价值,让更多人从网络中享受便利,以提升生活品质。

PHPWind的两位创始人王学集、林耀纳于2003年发布了PHPWind的前身版本ofstar,并发展成为包含BBS、CMS、博客、SNS等一系列程序的通用型建站软件。至今累计已有超过120万网站使用phpwind,每天还有1000个新增网站,这些网站覆盖超过100个行业,每天有1.5亿人群聚集,5000万条新增信息,访问超过10亿个页面。

PHPWind于2008年加入阿里巴巴集团,在阿里云计算深厚的技术支持下,将在云计算和前端应用之间搭建桥梁,从云计算、平台化、数据存储、搜索技术方面进行深入的业务协同,帮助更多的中小网站降低成本、创造更多价值。

PHP有什么特点?

tep 1 =>

php的扩展模块都放在 ext/ 目录下,比如说 snmp模块、mysql模块。 我们要建立自己的模块,就要在ext目录下为自己的模块建一个目录。比如,我们要做一个分析config文件的模块,命名为pconfig模块(parse config的简写),需在ext下建立目录pconfig。将我写好的7个文件copy到该目录下,另外需对主目录下的configure和internal_functions.c作一些修改。

Step 2 =>

Makefile.am Makefile.in

是模板文件,用户执行configure时,会调用这两个文件,生成编译时所用的Makefile文件。修改时将小写的pconfig换成你自己的模块名,别忘了把大写的PCONFIG也替换掉(不要告诉我你不会vi的替换语句)。config.m4也是执行configure将会调用的检测脚本程序,以后我们来讨论这些脚本程序的更深入的修改。现在你只需要把pconfig该成你的模块就可以了。对config.h.stub和setup.stub也如法炮制。其实setup.stub也没什么用。

Step 3 =>

php3-pconfig.h 头文件中

extern php3_module_entry pconfig_module_entry;

#define pconfig_module_ptr &pconfig_module_entry

#define phpext_pconfig_ptr pconfig_module_ptr

这几行定义了模块的入口,将入口注册到php后,php会通过模块入口找到你写的函数

下面几个函数定义是用宏进行定义的,展开以后其实就是 php3_minit_pconfig , php3_rinit_pconfig ……分别在你的模块初试化或结束时被调用,如果你的模块很简单,也就不需要这些定义了

extern PHP_MINIT_FUNCTION(pconfig);

extern PHP_RINIT_FUNCTION(pconfig);

extern PHP_MSHUTDOWN_FUNCTION(pconfig);

PHP_MINFO_FUNCTION(pconfig);

这是你的函数声明,将来写在php脚本语句中的函数名就是在PHP_FUNCTION中定义的名字。

PHP_FUNCTION(pconfig_test);

如果有多个,还可以继续往下加

PHP_FUNCTION(pconfig_parsefile);

PHP_FUNCTION(pconfig_release); …….

Step 4 =>

接下来我们看最重点的C代码了

function_entry pconfig_functions[] = {

PHP_FE(pconfig_test, NULL)

{NULL, NULL, NULL}

};

定义的是你的函数的入口(前面我们提到过模块的入口),按照格式将你在头文件中定义的函数写进去吧。注意,这是用宏定义的,不要管语法是否正确。以后我们具体讨论这些宏的用法。

php3_module_entry pconfig_module_entry = {

"pconfig", pconfig_functions, PHP_MINIT(pconfig), PHP_MSHUTDOWN(pconfig), PHP_RINIT(pconfig), NULL, PHP_MINFO(pconfig), STANDARD_MODULE_PROPERTIES

};

注册模块的入口信息,比如模块名,函数接口,初试化模块将调用的函数等等,如果你的模块不执行复杂操作的话,可以忽略掉他们,写成

php3_module_entry pconfig_module_entry = {

"pconfig", pconfig_functions, NULL,NULL,NULL,NULL,NULL,STANDARD_MODULE_PROPERTIES

};

Step 5 =>

写你自己的函数

在头文件和function_entry处,我们已经定义了自己的函数pconfig_test,现在我们就来实现pconfig_test的功能。就比如执行两个数相加的和吧。

static void _php3_pconfig_test(INTERNAL_FUNCTION_PARAMETERS)

{ ......

}

PHP_FUNCTION(pconfig_test)

{

_php3_pconfig_test(INTERNAL_FUNCTION_PARAM_PASSTHRU);

}

当系统调用pconfig_test时,会调用你的_php3_pconfig_test函数,当然你也可以把_php3_pconfig_test里的内容直接写在PHP_FUNCTION(pconfig_test)中,这样做只是程序结构比较清晰。注意:不要将_php3_pconfig_test命名成php3_pconfig_test,PHP_FUNCTION(pconfig_test)宏展开后实际上就是php3_pconfig_test!

Step 6 =>

好了,现在我们开始修改configure,在echo $ac_n "checking for MySQL support""... $ac_c" 1>&6的前面(当然,如果你熟悉configure的话,可以加在任何合适的地方)加上下面几句话

if test "${with_pconfig+set}" = set; then

withval="$with_pconfig"

# Add your lib in here

EXTRA_LIBS="$EXTRA_LIBS"

# Add your include path in here

INCLUDES="$INCLUDES"

EXT_SUBDIRS="$EXT_SUBDIRS pconfig"

EXT_LIBS="$EXT_LIBS pconfig/libphpext_pconfig.a"

EXTINFO_DEPS="$EXTINFO_DEPS ../ext/pconfig/extinfo.c.stub"

EXT_STATIC="$EXT_STATIC pconfig"

fi

修改internal_functions.c,在头文件定义中加入#include "ext/pconfig/php3_pconfig.h"

在zend_module_entry数组中加入phpext_pconfig_ptr,

Step 7 =>

从新configure,带上需要的参数,不要忘记的是在参数里加入 --with-pconfig

Step 8 =>

index.php3

<? echo pconfig_test(123,678)."

"; ?>

执行%>php index.php3

phpstudy怎么运行tp框架?

安装好phpstudy后,运行软件.首先将 tp 的程序放到一个目录 web_thinkphp (可自定义)打开phpStudy面版右边有一个php版本,选择好tp所需要的版本(tp3.2先5.3~5.4即可,tp5可选 5.5+)127.0.0.1 tp.me保存(如果没有修改权限,可以在桌面上建一个文件 hosts 加入上面一行代码后再覆盖到 hosts 所在的目录)在 其它选项菜单 -> 站点域名管理 -> 路径: 指向 web_thinkphp端口:80[新增] -> 保存并生成配置文件然后 浏览器中输入 tp.me 就运行 tp 了

zblog为什么不见了?

一,检查空间主机是不是开了防篡改之类的功能

我用的是万网的虚拟主机,因为我很肯定我没有开通WEB防护功能,因为这个是需要花钱的,我没花钱肯定不会给我开通的,这样这一点肯定是PASS的,如果你开通了WEB防护功能,建议检查一下设置。

二,检查一下目录是否有写权限

这一点我一开始就是想到的,是不是网站的权限没有打开读写权限,我检查了后台是755状态,我把权限全打开了777状态,但是打开权限后发现插件模块依然不显示安装成功的插件,那这个问题肯定不是了,如果你的权限没有开通可以打开读写权限看一下。

三,检查应用中心插件设置

更换一下连接方式和域名测试,可能是官方的APP网络服务器问题,但是更换后我的我的问题还是没有解决。

四,检查PHP版本是否符合版本需求

因为问题一直没有解决,我在官网也问了依然没有解决问题,本身寻思按照官网的解决方案进行更新,比如本地搭建网站坏境在本机测试,或是在其他网站空间测试,在搭建测试时突然想到,我在网站搬迁时,把PHP版本调整到了8.0,寻思是不是这个问题造成的,我又把版本调整到了7.4,再一检查,发现插件显示了,已经安装成功,没想到PHP版本也会影响到插件的安装,转了一大圈,原来是我设置错误造成的,并不是版本越高越好。

至此困扰我一天的问题终于解决了,因为一个小小的问题就让我足足折腾了一天时间,太不值了,希望大家不要出现类似的问题。如果觉着就有用就转发下吧。

什么事PHP?

PHP是超文本预处理器,是一种通用开源脚本语言。 PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。 优点:

1、流行,容易上手 PHP是目前最流行的编程语言,这毋庸置疑。它驱动全球超过2亿多个网站,有全球超过81.7%的公共网站在服务器端采用PHP。PHP常用的数据结构都内置了,使用起来方便简单,也一点都不复杂,表达能力相当灵活。

2、开发职位很多 在服务器端的网站编程中PHP会更容易帮助你找到工作。很多互联网相关企业都在使用PHP开发框架,所以可以说市场对PHP的开发程序员的需求还是比较大的。

3、仍然在不断发展 PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。版本是7之后,一直在提供更高性能的应用。

4、可植入性强 PHP 语言在补丁漏洞升级过程中,核心部分植入简单易行,且速度快。

5、拓展性强 PHP 语言在数据库应用过程中,可以从数据库调取各类数据,执行效率高。

本文转载自互联网,如有侵权,联系删除