php reliboffice

2018-12-21 09:11:26 qq_36489654 阅读数 60206

 最近在centos中安装lamp环境,发现装完php之后,没有php.ini文件,那么php.ini在哪呢?

 正常情况下php.ini文件是在php的安装目录下的lib目录里,比如我的php安装目录在/usr/local/php/中,而我进       如/usr/local/php/lib目录中却找不到php.ini配置文件。

 在网上找了一些答案,最后得到结论:编译安装的php如果没有生成php.ini文件,则可以通过php源码包来获取;

直接说方法:

1.进入php源码包目录,也就是你下载php源码包解压之后的目录,一般源码包我们通常会下载到/usr/src/目录中 我的解压目录为:/usr/src/php-5.6.15/查看该目录的所有文件,你会发现里边有两个文件:php.ini-development和php.ini-production

2.复制php.ini-development或者php.ini-production到php的安装目录下的lib文件夹中 /usr/local/php/lib 并重命名为php.ini,命令如:cp php.ini-production /usr/local/php/lib php.ini

       

3.最后切换到 /usr/local/php/lib下就可以看到php.ini文件了,至此大功告成!

2015-03-16 03:03:55 iefreer 阅读数 63409

遇到这种问题,首先确认你web服务器配置中的.php是不是被指定给FastCGI server处理:

location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;

}

如已配置,那么可能是由于fastcgi_script_name访问脚本路径不正确引起的。

尤其是带有子目录的情况,比如对于Yii框架而言,路径通常是project/web

那么如果在URL中访问 /project/index.php,那么nginx配置中的SCRIPT_NAME会是全路径:project/index.php

如果你配置中的代码如下:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

那么实际访问的文件就是/var/site_root/project/web/project/index.php,这显然不是我们想要的结果,我们想访问的是/project/web/index.php。

这些错误可以通过查看php-fpm.log(错误日志)来跟踪。

解决方法是修改相应的路径配置。


备注:多个站点使用子目录配置可参考:

https://rtcamp.com/wordpress-nginx/tutorials/multisite/subdirectories/in-a-subdirectory/

2014-09-03 16:50:05 qq1355541448 阅读数 36738

欢迎加入php架构师之旅 群:410028331(招纳贤人-大师中)方便技术的交流

一般类似oa或者crm等管理系统可能都会遇到需要再线查看word文档的功能,类似百度文库。

记得去年小组中的一个成员负责的项目就需要这个的功能,后面说是实现比较困难,就将就着用chm格式替代了。今天看到网上一遍文章《LINUX下面PHP文件转换》,介绍怎么样在linux下使用Openoffice 3 , Pdf2Swf tool , Jodconverter , FlexPaper,实现文档在线查看。

自己再ubuntu下进行的尝试安装,步骤如下:

因为ubuntu版本为10.0.4,openoffice已经默认安装。如果没有安装openoffice的话自行谷歌安装。
第一步:安装jodconverter,安装之后可以实现doc文档转成pdf。

文件下载地址为http://www.artofsolving.com/opensource/jodconverter
下载了之后直接解压,解压到/opt目录下/opt/jodconverter-2.2.2/,使用到的文件是安装包内的lib/jodconverter-cli-2.2.2.jar。
测试是否可以使用

  1. java -jar /opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /home/php/1.doc /home/php/1.pdf

这里提示缺少java软件包,并会提示几个安装包供。选择我安装openjdk-6-jre-headless,命令如下:

  1. sudo apt_get openjdk-6-jre-headless

安装之后再运行上面doc转pdf的命名,会提示openoffice进程未启动,

因为JODConverter是通过OpenOffice來做转换的 ,所以使用前需要先安裝OpenOffice, 並且將OpenOffice的Service启动, 才可以使用. 启动命令

  1. /usr/lib/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &

到此运行上面的doc转pdf的命令已经可以成功。

第二步:安装swftools,安装之后可以实现pdf文件转成swf

  1. wget http://www.swftools.org/swftools-0.9.1.tar.gz
  2. tar xzf swftools-0.9.1.tar.gz
  3. cd swftools-0.9.1
  4. ./configure
  5. make
  6. make install

测试是否可以使用

  1. pdf2swf -o /home/php/1.swf -T -z -t -f /home/php/1.pdf -s flashversion=9

第三步:用FlexPaper实现在线预览,里面有详细的demo。

第四步:使用php测试文档转换命令:
文档转pdf

  1. <?php
  2. $doc = './docs/test.txt';
  3. $formatName = './pdf/test.pdf';
  4. $command = 'java -jar /opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar '.$doc.' '.$formatName;
  5.  
  6. exec($command);
  7. echo 'ok';

pdf转swf

  1. <?php
  2. $pdf = './pdf/test.pdf';
  3. $swf = './swf/test.swf';
  4.  
  5. $command = '/usr/local/wenku/swftools-0.9.1/src/pdf2swf -o '.$swf.' -T -z -t -f '.$pdf.' -s flashversion=9';
  6.  
  7. exec($command);
  8. echo 'ok';

php脚本去运行上面的命令可能存在权限的问题无法执行
其中我测试使用的php脚本调用pdf2swf进行转换文件,生成不了。这样只需配置apache的用户权限即可,确保配置的用户有权限运行pdf2swf命令
默认安装的php环境ubuntu下配置文件是/etc/apache2/apache2.conf修改这两行,
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_USER}

配置完之后,重启apache。
/etc/init.d/apache2 restart

到此linux下的安装配置就结束了。

window下测试

下载window下使用的Pdf2Swf tool和FlexPaper,手动的将pdf文件转swf后进行在线查看的功能。

步骤整理如下:

1.安装Pdf2Swf tool之后,进行将pdf转swf。cmd命令行:
pdf2swf.exe -t D:\wamp5.3\www\test\pdf\c.pdf -s flashversion=9 -o D:\wamp5.3\www\test\swf\c.swf
-t: 源文件路径,即待转换的pdf文件路径。
-s: 设置参数,这里我们设置为 flashversion=9 ,即可以转换为9 的版本啦。
-o: 输出文件的路径,这里我输出到D:盘下

运行的结果如图所示:

2.使用FlexPaper插件显示浏览swf文件。这里下载使用的版本是1.5.8 Flash Version (release notes)。软件包内就已经有html版本的demo,稍微改动下句可以实现了。

代码如下:

  1. <script src="js/flexpaper_flash.js" type="text/javascript"></script>
  2. <a id="viewerPlaceHolder" style="width:680px;height:480px;display:block;"/></a>
  3. <script type="text/javascript">
  4. var fp = new FlexPaperViewer(
  5. 'FlexPaperViewer',
  6. 'viewerPlaceHolder', { config : {
  7. SwfFile : escape('c.swf'),
  8. Scale : 0.1,
  9. ZoomTransition : 'easeOut',
  10. ZoomTime : 0.5,
  11. ZoomInterval : 0.2,
  12. FitPageOnLoad : true,
  13. FitWidthOnLoad : false,
  14. FullScreenAsMaxWindow : false,
  15. ProgressiveLoading : false,
  16. MinZoomSize : 0.2,
  17. MaxZoomSize : 5,
  18. SearchMatchAll : false,
  19. InitViewMode : 'Portrait',
  20. PrintPaperAsBitmap : false,
  21.  
  22. ViewModeToolsVisible : true,
  23. ZoomToolsVisible : true,
  24. NavToolsVisible : true,
  25. CursorToolsVisible : true,
  26. SearchToolsVisible : true,
  27.  
  28. localeChain: 'en_US'
  29. }})
  30. </script>

到此就结束了,查看效果如图实现:

2019-08-07 22:44:43 LJFPHP 阅读数 26743

一、PHP创始人辞职,大厦将倾?

      最近在各大php交流群上都看到一则消息, Zeev Suraski 离职,php官方开源团队已全部解散。刚看到这个消息的时候,博主心里是哇凉哇凉的,搞了这么多年php,连源码都没怎么看过,php就要凉了吗?称霸web多年的php会因为这最后一根稻草而大厦将倾?反正博主不信。

在这里插入图片描述

二、Zeev Suraski 何许人也

      Zeev Suraski 是一名以色列程序员,他和另一名以色列程序员 Andi Gutmans 以及其他程序员一起发展了由 Rasmus Lerdorf 创建的 PHP 语言。1997年,Andi GutmansZeev Suraski 重写了 Rasmus LerdorfPHP-FI,这份作品被作为 PHP 3 发布。1998年,他们全部重新设计了 PHP 的语法解析器,并将它命名为 Zend 引擎。PHP 4 是第一个基于 Zend 引擎的产品,这一产品也获得了巨大的成功。1999年,两人共同创立了 Zend 公司,公司名字正是 ZeevAndi 两人名字的结合。

      由于在技术方面的权威性,Zend 公司及其创建者在 PHP 以及开源社区中持续处于领导的核心地位,对于 PHP 的迅猛发展起到了强力推动作用。Zend 公司也因此被认为是开源 PHP 语言的“官方团队”。

      这位大佬原来是zend官方的创始人,这名头听起来就觉得很吊。听到这种级别大佬离职的消息,第一反应就是zend官方要解散了? php要完犊子了?相信大家也会有同样的疑问和担心,别急,咱们下面继续分析这位大佬离职带来的影响。

三、这位大佬对php的贡献几何

1、从github上看

https://github.com/php/php-src/commits?author=zsuraski

      很明显,从06年开始就没提交代码了,也就是说,这个大佬对于php项目来说,在前期是灵魂人物,不过随着开源社区的自我发展,这位大佬更像是一个管理员一样的人物,对于当前php技术的发展作用似乎没那么大。

我们来看一下php的发展历程,参考:https://www.php.net/manual/zh/history.php.php

      04年是php5发布,后续的历史一时半会儿没找到,不过在14年的时候,php已经是5.6版本了,也就是说,这个大佬大概是在5.6之前就没有贡献过代码。我们都知道,现在php都是7.x了,那么带来的影响似乎没有那么大。

2、现在的php开发团队

github上面目前的主要代码贡献者:
https://github.com/php/php-src/graphs/contributors

在这里插入图片描述

      我们的主人公目前排名是第九,不过根据代码贡献我们可以看到,大佬们依旧笔耕不辍,该提交的依旧在提交。在排名靠前的贡献者中我们看到了熟悉的鸟哥鸟哥已经是php7.0的主要开发者之一,鸟哥还在。

3、鸟哥说啥了吗

      既然发生了这么大事,那么鸟哥作为php界的权威人士,鸟哥是否发表了什么看法呢?博主闲着没事,专门去鸟哥的博客和微博下看看,就是想知道这位大佬的态度是什么,结果如下:
在这里插入图片描述
嗯,鸟哥的反应很平淡,或者说并没有提及这件事,微博上还是一片祥和的。

后续补充:

鸟哥朋友圈截图如下:

在这里插入图片描述

聊天内容如下:

在这里插入图片描述
      这是鸟哥去年8 月份与 Zeev Suraski 团队成员 Dmitry Stogov 的聊天记录,大意就是Rogue Wave收购Zend后,调整了商业和人事策略,商业上侧重于Zend Server系列产品的开发,人事上则是把非美国开发者分配到爱沙尼亚(东欧的一个小国),也就是说,Zeev Suraski(以色列人)和Dmitry Stogov(俄罗斯人)不离职,那结果就是一起分配到一个陌生的国家去工作.所以DmitryZeev早在去年就已经决定离职,离职后将会寻找新的赞助商来推进PHP项目(PHP核心开发者是有薪水的,包括鸟哥)。

      也就是说,一切都是有安排的,大佬的离开某种意义上也是为了更好的开发php,避开了商业上的勾心斗角,在另一个地方继续开发php,大佬并没有抛弃php

参考链接:
oschina:https://www.oschina.net/news/108738/why-zeev-suraski-left-zend?from=groupmessage&isappinstalled=0
知乎:https://www.zhihu.com/question/338202252/answer/776883731

四、php目前发展现状如何

博主查阅了一些资料,发现php的现状还是不错的,首先看一下在web市场的占有率吧

1、php在网站端的应用

      W3Techs是一个网络技术调查网站,提供关于互联网不同技术的运用信息。下面我们分别查看2018年和2019年的php占比

2018市场占有率:

在这里插入图片描述

2019市场占有率:

在这里插入图片描述
      从20182019的市场占有率上看,虽然份额下降了点,但phpweb端依旧是霸主的地位,特别是针对之前的一些php项目,更不会随随便便的就转到其他语言。

2、php软件库的发展

      衡量 PHP 生态当前状况的一种方法是查看 Packagist 这个 PHP 主要软件包存储库的数据。通过以下趋势图,可以发现软件包数量呈指数增长,并且当前录入软件包有 223 217 个,总的安装量达到了 14 827 204 847PHP 生态已不再像以前那么弱小。

软件包的成长曲线如图:

在这里插入图片描述

各种版本的可用软件包的数量如图:

在这里插入图片描述

      从软件库上来看,大家对于php的热情还是不错的,各种软件包的数量还在稳步上升,活跃度不错的

参考:https://www.oschina.net/news/106700/php-in-2019

3、php社区活跃性

      关于php社区,博主没有找到太过于垄断的社区,因为php各种框架之间的不同(起初差异很大,现在各大框架的理念已经很接近了),所以博主这边主要是看了几个主要框架的社区:

(1)thinkphp的:http://www.thinkphp.cn/topic/index.html
(2)laravel的:https://learnku.com/laravelhttps://www.golaravel.com/
(3)yii社区:https://www.yii-china.com/
(4)csdn的php板块:https://bbs.csdn.net/forums/PHP
(5)思否:https://segmentfault.com/t/php

      这里只列出了部分的社区,博主大概看了一圈,虽然比不上java那么火爆,但php社区的活跃度还不错。

四、总结

      从以上几个方面来看,这个大佬的离职带来的影响似乎并没有那么大,就好比大家团队里面一个大佬离职,这个大佬可能是项目的发起者和主要参与者之一,但是随时时间的发展,接收项目的大佬越来越多,那么离职一个似乎影响也不是很大。更何况对于开源项目来说,参与者只会越来越多越来越优秀,博主相信php会越来越好的。

      不过话说回来,身为一个程序员,编程语言始终是一种工具,那么多掌握几种工具也是应该的。虽然我们的php依然茁壮成长,但是我们是要吃饭滴,平时没事再学点gopython之类的也不错,一方面是触类旁通,正所谓大道朝天,殊途同归,掌握各种语言肯定会提升我们的编程水平,另一方面,万一真的发生了什么(反正博主不信),我们也能多一手准备。

以上,献给各位phper,愿各位能在编程的路上越走越远,事业节节高升,家庭和睦和谐。

end

2017-01-01 13:32:17 Lccee 阅读数 834811

最近有学生问我,直接使用PHP集成环境和我们自己独立安装的php环境有什么不一样吗?windows服务器上可以选择集成环境吗?

答:PHP集成环境和自己安装的php环境从本质上来说并没有太大的区别,只不过大部分的集成环境进行了一些绿化与精简操作。

 

下面我们先来介绍一下集成环境的基本概念、集成环境的选择,然后再详细说明PHP集成环境与安装版的具体区别。

 

 

你们应该会经常听到WAMP这词吧,那么WAMP是什么意思?

 

Windows下的Apache+Mysql+PHP,称为WAMP

而Linux系统下的Apache+Mysql+PHP,称为LAMP

 

WAMP和LAMP的区别在于操作系统,总而言之,只是一种利于区别的叫法。

而这个WAMP环境可以是集成好的,也可以是你自行独立安装的WAMP,通常提到的WAMP大部分是指集成好的。

 

 

 

WAMP还可以分为以下三大类:

1、php集成环境(集成了所有的必须的组件,安装完集成环境,就可以直接运行网站,虽然不需要分开独立安装各组件,但还是需要额外安装VC运行库

2、php独立安装版环境(自行独立安装各个组件,操作比较繁琐,需要浪费一定的时间,有利于提高自己的配置能力,对于新手来说卸载也比较麻烦。)

3、php绿色集成环境(相对而言是绿色的php集成环境,自身集成VC运行库,不需要安装VC解压后可直接使用,不使用时关闭服务即可,不会滞留在系统里面。)

 

PHP集成环境的选择,是选择集成版,还是绿色集成版。

目前大部分的PHP集成环境都不是纯绿色的,安装后还需要自行安装VC运行库,如果你对php环境不够了解,卸载也不方便,有时候因为安装了多个PHP集成环境,哪怕用PHP集成环境自身的卸载功能,也比较难以卸载,卸载后还会遇到各种未知错误,卸载后还有可能导致无法正常安装和使用php环境,所以还是推荐使用纯绿色版的PHP集成环境,比如PHPWAMP集成环境。PHPWAMP是windows系统下运行的完全绿色的PHP集成开发环境,可以在缺失必要依赖的组件下正常运行,不用安装麻烦的VC运行库,不用修复系统缺失的组件,无视依赖运行。是目前最便捷也是最专业的PHP集成环境,拥有开发模式和运营模式,可用作服务器环境。是唯一一款支持自定义设置的环境:自定义功能可以随意自定义32位和64位的所有PHP历史版本,自动智能匹配32位系统和64位系统所需的相关依赖完美运行。强大的常用工具,可强制修改任何环境Mysql密码、去端口、强制解除占用、端口扫描、乱码解除等。

 

(右键新标签打开图片可查看高清大图)

 

 

 

 

 

那么到底PHP集成环境与自己安装的有什么区别?

举例子理解:你喜欢吃蛋糕,蛋糕你可以自己在家里做,也可以到外面买现成的。如果对蛋糕比较了解,甚至可以做出比蛋糕店还要好吃的蛋糕。相反,你如果完全不了解蛋糕的制法,可以直接买现成的。PHP集成环境也是一样的道理,如果你对PHP环境比较了解,自己配置即可,建议新手还是手动搭建几次PHP环境,这样能加深理解。平时为了方便测试,我们是可以直接使用现成的PHP集成环境的,不过大部分的集成环境安装包体积比较小,是因为对其进行了精简,阉割了相关组件,是不完整的,windows下的PHP集成环境主要目的就是用作本地调试的,如果你想要直接在服务器上搭建网站,建议使用一些比较完整无阉割版的PHP集成环境,优先推荐PHPWAMP绿色集成环境(所集成的所有组件都是完整版的,无阉割)。

总而言之,如果你自认为对PHP环境的配置很了解,那么请自行配置,如果你对此方面的知识有所欠缺,可以直接使用PHP集成环境。

 

 

 

在windows服务器上搭建网站,选择哪种集成环境比较好?

优先建议你采用linux系统,如果非要使用win系统,建议搭配PHPWAMP的宕机自动重启功能 
在Windows系统里,PHPWAMP要比其他集成环境更适合在服务器上运行,具体的原因如下所述: 

 

 

PHPWAMP和其他集成环境有什么区别和优势?

功能多样性:PHPWAMP支持IIS、Nginx、Apache多功能站点管理系统,可同时运行无限个不同的php版本。

强大自定义:支持无限添加PHP、Mysql版本,无需考虑系统位数以及各种依赖,软件自动匹配所需依赖。

环境稳定性:集成的PHP、Mysql、Web服务器等均为完整版,未经过精简和阉割比其他集成环境更稳定。

学习的成本:PHPWAMP带有完整的使用文档,软件作者亲自编辑使用文档,讲解内容通俗易懂可快速入门。

智能自动性:PHPWAMP自带的“强制解除环境阻碍”能自动解决大部分系统引起的各种环境错误。

运行保证性:PHPWAMP自带宕机重启功能,网站服务宕机将会自动重启,保证apache和Nginx等服务正常运行。

错误的排查:PHPWAMP一旦发生启动失败等错误,都会显示友善的提示并提供完整的解决方案。

系统兼容性:环境全面匹配32和64位系统,自定义智能匹配32、64位系统所需dll和vc,纯净绿化无需安装。

软件便捷性:PHPWAMP高度集成,可以在系统缺失DLL和VC运行库的情况下正常运行,无需安装各种环境依赖。

配置方便性:修改某个站点的php配置文件只需要右键打开即可,系统会自动打开该站点所对应的配置文件。

强大功能性:强大的常用工具,可强制修改任何环境Mysql密码、去端口、强制解除占用、端口扫描、乱码解除等。

 

站点管理功能强大,添加扩展以及修改配置都非常简单

iis站点一键配置,支持无限个PHP版本同时运行,无限自定义mysql\php版本。

Nginx站点一键配置,支持无限个PHP版本同时运行,无限自定义mysql\php版本。

Apache站点一键配置,支持无限个PHP版本同时运行,无限自定义mysql\php版本。

 

PHPWAMP可以在缺失必要依赖的组件下正常运行,这是其他集成环境所没有的,PHPWAMP不用安装麻烦的VC运行库,不用修复系统缺失的组件,无视依赖双击运行。自定义功能可以随意自定义32位和64位的所有PHP历史版本,自动智能匹配32位系统和64位系统所需的相关依赖完美运行,如果遇到各种占用及其他异常造成的环境故障,还可以使用“强制清除环境阻碍”暴力清除阻碍运行,全智能自动分析,清除阻碍过程中是不会造成任何影响的。

 

如果对PHP绿色集成环境在服务器上的应用感兴趣,

可以阅读我在CSDN博客上的这篇博文:http://blog.csdn.net/lccee/article/details/53945196

 

 

PHP学习心得

阅读数 19725