-
PHP实现obs上传,是否需要obs的上传sdk
-
本帖最后由 王八跳悬崖 于 2018-5-8 15:23 编辑wordpress插件数以万计,唯独聚合/采集类的插件比较少。下面是小编推荐的多款免费wordpress RSS聚合/采集插件,无耻的利用别人的Feed自动更新网站和博客,本文不定期更新,以介绍最新国内外wp采集插件,也欢迎大家留言补充。 排名不分先后,后面的几个威力更大,部分插件甚至不需要Feed功能强大,不过完全版本需要是收费,建垃圾英文站,很赚钱的! 一,BDP RSS Aggregator 通过BDP RSS Aggregator 这个wordpress 插件,可以聚合多个blog的内容。适用于拥有多个博客的blogger,或者资源聚合和分享类的blogger,以及群组blogger。 BDP RSS Aggregator 插件主要是聚合标题以及部分摘要,并不会全文现实内容,也不会把对方的文章导入到自己的数据库里面。功能较弱 下载地址:http://www.ozpolitics.info/?p=87 二,WP-o-Matic WP-o-Matic 插件是闪电博客见过的非常狠的一个 wordpress 采集插件——只需在后台设定 Rss 源以及采集的时间,WP-o-Matic就会自动执行。它甚至可以将对方网站的附件以及图片等都采集,跟国内的cms系统有得一拼,完全无需站长耗心耗力。 下载地址:http://wordpress.org/extend/plugins/wp-o-matic/ 三,FeedWordPress FeedWordPress 是一个rss 聚合插件,可以聚合其他博客的内容源现实到自己的博客上,并且是以全文的形式。你可以点此下载中文版。 下载地址:http://wordpress.org/extend/plugins/feedwordpress/ 四,Friends RSS Aggregator (FRA) Friends RSS Aggregator (FRA) 这个插件可以通过RSS聚合,也只是现实文章的标题,发布日期等。 下载地址:http://adam.404.org/projects/friends-rss/ 五,inlineRSS Inlinefeed 支持RSS, RDF, XML or HTML等几种格式,通过Inlinefeed可以让Rss源的文章现实在特定文章内。 下载地址:http://www.iconophobia.com/wordpress/?page_id=55 六,GetRSS 激活GetRSS插件后,可以使用如下的代码聚合 rss 的文章。 把rss地址换成你想聚合的rss地址就可以了,5是显示文章数量,可以修改。 下载地址:http://wordpress.org/extend/plugins/getrss/ 七,Guest Blogger Guest Blogger这款插件试用了下,感觉还不错,最大的缺点就是文章来源单一。它可以基于一个关键字或几个关键字采集著名的EzineArticles的相关文章(比如文章标题中含有此关键字,文章内容中包含此关键词,文章标题内容中包含此关键词,作者名包含此关键词,这些可以按自己的需求设置),或EzineArticles某个类别下的文章。你可以设置直接发布或先创建草稿,自己编辑后再发布。还可以设置采集的频率等等。这款插件的设置比较简单,不再一一介绍。 官方下载:http://wordpress.org/extend/plugins/guest-blogger/ 八,AutoBlogged autoblogged很不错的插件,里面有获取yahoo视频的feed,还有flickr的,闪电博客都测试成功了,而且可以设置自动下载远程图片到服务器,可以设置模板,对每篇文章会自动分析关键词,可以设置计划任务自动更新,不过更新的时间间隔不要设置太短了,最好设置5小时以上,要不就用就会有很多重复的文章,如果有重复的文章就再用个”删除重复文章”的插件,如:Duplicate Post Checker和Duplicate Content Cure;Duplicate Post Checker:检查是否有重复文章。Duplicate Content Cure:它能阻止搜索引擎索引含有重复内容的 WordPress 博客的页面,如存档,分类页面。它是通过添加 noindex,follow 这样的 meta 标签实现的。 下载地址:官网网站 (收费)。 九,Wp Robot 比较不错,可以从rss feed获取内容,并自动创建关键词,也支持yahoo answers等很多网站的内容获取,问题就是它不能获取远程图片,超不爽,所以我只用它采集yahoo answers。 创建任何你所希望内容的文章发布到你的WordPress 博客上 支持多关键词搜索,基本版支持20个关键词,高级版支持50个关键词,还有无限制版可选 在任何不同的分类中创建文章,比如不同的分类使用不同的关键词 自定义两片文章的发布时间间隔,比如你发表“iPods”这个关键词,每3天或者每小时发布一篇等等。 精确地控制文章内容生成,通过关键词搭配创建不同的任务,避免重复文章出现(记得有件检查WP博客内文章重复的插件) 自动获取文章 tags, Tags是 WordPress 比较有好的功能之一,访客可以通过一些Tags检索含有相同标签的文章 很多的自定义选项,你可以选择是否直接发布或者存为草稿等等。 下载地址:迅雷下载地址(必须要使用迅雷下载)
-
什么是米拓企业建站系统(英文名:MetInfo) MetInfo 采用PHP+Mysql架构,针对企业网站建设,前台可视化编辑,所见即可改,融入SEO理念设计,功能全面,支持多语言、响应式展示,是一款非常适合企业、公司网站制作的cms建站系统。 V6.0.0 重大更新一、新增可视化编辑功能1、内容可见即可改 2、图片可见即可改 3、区块功能设置自定义 4、点击内容即可立刻进入对应栏目的内容管理 5、页面属性(如显示信息条数、缩略图尺寸等)随访问页面设置 二、新模板及运行机制1、页面颜色风格支持任意定义 2、区块颜色及开关支持单独定义 3、Css\js按模块加载,运行更流畅(商业模板独有) 4、模板可以按区块轻松升级到最新版本(商业模板独有) 三、系统其它主要功能升级1、产品模块支持访问者按需点击最新、热门、推荐、销量排序功能(需要模板支持) 2、产品模块参数搜索功能(需要模板支持)3、优化在线客服功能,新增facebook功能;4、优化系统原有banner管理功能;5、重写后台及前台代码,理顺系统所有路径及因历史版本升级而造成的功能缺失;6、优化缩略图和图片水印功能;7、优化伪静态和静态页面功能,添加伪静态默认语言url语言标识去除开关; 8、优化传统后台管理界面,新增功能大全导航页面;9、恢复语言包批量修改功能(前台语言);10、恢复简繁体js自动切换功能;11、恢复后台内容管理界面分页管理、选择栏目管理后的对应跳转功能;12、恢复栏目附加信息功能;13、优化内容发布和编辑界面非必要信息默认隐藏功能;14、优化头部、底部第三方代码添加功能,区分电脑端和移动端代码;15、优化文章模块发布人功能,更改为发布管理员姓名(昵称);16、优化处理http、https、全站路径和后台基本信息网站地址;17、优化全站图片和附件处理功能,新增外部图片添加功能;18、优化统一前台信息提交过滤机制;19、优化留言、反馈、简历提交判断和数据库写入机制;20、优化模板css\js打包功能;21、恢复图片、下载模块参数功能;22、新增后台文件夹修改提醒功能;23、新增恢复数据自动创建栏目文件夹及复制文件功能;24、兼容PHP7.0版本;25、优化前后台信息列表排序及上一条下一条数据功能;26、优化复制和删除多语言文件及数据处理功能 详细产品请点击:https://app.huaweicloud.com/product/00301-119028-0--0
-
本帖最后由 睡懒觉的猫 于 2017-12-26 18:00 编辑77047706
-
本帖最后由 码小玩 于 2017-12-28 17:31 编辑不可否认,想要成为一名优秀的程序员确实是需要掌握多种编程语言。通过这几年的自虐式学习,小编也慢慢的掌握了这些编程语言。接下来要为大家,介绍五款让人又爱又恨的编程语言! 1.C 语言 C 语言给人的感觉,就是一位神秘莫测而又高冷型的女生形象。这是因为 c 语言相比其他编程语言难度高一些,这也就多了一丝神秘,每当以为快要接近它时,它又狠心的推开!狠心的 C! 语!言! 无法拒绝 C 语言的原因:UNIX 由 C 编写而成,其运行在大部分手机与大多数云环境当中,这意味着必须有人继续使用星号与大括号进行开发,否则这一切都将无 法为继。另外,还有设备驱动程序、嵌入式程序以及 Linux/Unix 代码库的维护工作——好了,这个忧伤的话题到此结束。 7477 接下来轮到最开心的环节,要!开!始!吐!槽!作为拥有「便携式汇编语言」头衔的 C 语言, 绝对充斥着各种问题!相信没有人会喜欢编写,大量独立的头文件,也更没有几个人能在使用预处理器的时候保持平和心态。 从理论上讲,我们应该能够利用指针的数学能力,完成无比睿智的壮举,但很少有人能超越已经存在的数据结构。事实上,鼓捣指针往往正是代码崩溃的起点。即使大 家自身水平能够轻松搞定指针,但也需要编写冗长的注释加以记录,这相当让人抓狂。另外,我想问一下各位,有人几个人能记住编写 C 代码所应当遵循的全部最佳 实践吗?例如避免一切潜在的安全漏洞,好吧,我个人不太行。 2.JavaScript JavaScript 给人的感觉,就是一位悲观型的女生形象。为什么这样说呢,谁叫它们总是用小括号、中括号与大括号包裹着自己呢! 无法拒绝 JavaScript 的原因:互联网以及无数浏览器仍然坚持使用 JavaScript,而 Node.js 的出现甚至迫使我们在服务器端也要使用 JavaScript。至少在可预见的未来,JavaScript 还将不断折磨我们。 7478 接下来轮到最开心的环节,要!开!始!吐!槽!哈哈~JavaScript 的缔造者们希望打造一款现代化语言。遗憾的是,他们的成果逼迫我们不断使用小括号、中括号与大括号来完成正确的嵌套关系。而匿名函数、闭包与 JSON 数据结构则让我们的小指变得越来越发达。 另外,我们还需要关注很多奇怪的细节。如果 x 作为字符串包含字符 1,那么 x+1 将产生字符串 11,而 x-1 则会产生数字 0。谁还会记得 false、 null、NaN 以及 undefined 之间的区别呢?它们听起来很像,但 JavaScript 为什么非要对此进行区分?为什么不能把它们合并起来? 3.PHP PHP 给的感觉是一位单纯乖巧型女生,至于原因 PHP 相比其他语言更简单,PHP 性能足够好,热部署、易修改,我们也不用那么费心啦~ 7479 PHP 其实并不能算是真正的计算机语言,而更像是一款用于向静态 HTML 中添加智能机制的工具。大家可以将信息存储在数据库中并为其匹配静态标签。虽然还有更多功能,但总体来看 PHP 的基本作用就是对我们提取自数据库的字符串进行粘接。 但争议归争议,大多数 Web 仍然由 PHP 构建而成。在 WordPress、Joomla 以及 Drupal 中,大多数内容都通过 PHP 代码进行交付。另 外,Facebook 也是由 PHP 编写而成。幸运的是,Facebook 打造的 HipHop Virtual Machine 启发了 Zend,而 PHP 7.0 也是由此诞生。这些新型 PHP 引擎通常速度更快,但这同时意味着我们未来仍然得活在 PHP 的阴影当中。
-
本帖最后由 想要偷渡的非酋 于 2017-12-11 18:32 编辑之前有云市场的用户反应在云市场购买的bitnami的moodle产品升级按照帮助指南中的步骤无法升级成功,和bitnami沟通后发现是由于他们的php是和自己的软件绑定的,所以在遇到需要升级php版本的情况下,单纯的升级系统中的php版本是无效的,所以总结了moodle从3.2.2升级到3.4+的方法 整体升级步骤为分为4个步骤:1、获取最新的moodle安装程序以及moodle包。2、备份原始moodle包并安装新的框架包。3、将老版本的moodle一直到新的php7框架中。4、升级到最新的moodle版本 升级指南请下载zip文件
-
每一种编程语言都有自己的独特风格和个性,这种个性的张扬往往会吸引一群人,变成一个社区的狂欢。如果把编程语言比作超级英雄,你觉得哪些英雄是你心中的本命呢?笔者根据编程语言的特点匹配了超级英雄,快来看看是否符合你的心意? 5931Assembly:绿巨人 Assembly是面向机器的程序设计语言,功能很强,可以利用计算机所有硬件特性直接控制特性。它和绿巨人一种,能量巨大,其力量与情绪状态直接相关。 5927 没有安全网,世界也不只有彩虹和小猫,Assembly是一把孤独的枪,每天都会背上沉重的包袱。处处需要小心,不能惹组件生气,如果组件生气了,它会尖叫着 “ASSEMBLY CRAAASH”摧毁你的电脑。 Python:蝙蝠侠 从犯罪分子手中抢救城市不是一件容易的事情,而解决**主谋创造的罪恶同样也需要优雅和精致。 5928 库并不是编程,它仅仅是个入口,只表达了你的部分意志。而Python会为你处理细节问题。 Python同样也有一个黑暗的过去,它的性格和力量是不为公众所知的,它将自己隐藏在“脚本语言”的外壳之中。 PHP:小丑 有些思想是之所以是扭曲和极具破坏性的,那么因为他们从来没有被理解过。 5929 看着PHP代码就像直视着深远。很多人说,把所有的关注点(视图、逻辑和模式)放在一起的想法是非常疯狂的,但是PHP也许刚好就在疯狂的临界点呢? C ++:机械战警 原来的C是一个非常体面的语言,但是面向对象编程(OOP)的出现对于C来说是个重大的意外,为了变得更快、更强大,C++闪亮登场了。 如果你能掌握这个闪亮的机器,那么你将拥有不可思议的力量。 5930
-
本帖最后由 华为开源镜像站 于 2017-11-18 17:42 编辑华为开源镜像站新手指导PHP 本章将告诉你如何通过 Composer 来安装你的库。[hr] [*]库(资源包) [*]每一个项目都是一个包 [*]平台软件包 [*]指明版本 [*]标签 [*]分支 [*]别名 [*]锁文件 [*]发布到 VCS(线上版本控制系统) [*]发布到 packagist [hr] 每一个项目都是一个包只要你有一个 composer.json 文件在目录中,那么整个目录就是一个包。当你添加一个 require 到项目中,你就是在创建一个依赖于其它库的包。你的项目和库之间唯一的区别是,你的项目是一个没有名字的包。为了使它成为一个可安装的包,你需要给它一个名称。你可以通过 composer.json 中的 name 来定义:[code]{ "name": "acme/hello-world", "require": { "monolog/monolog": "1.0.*" } }[/code] 在这种情况下项目的名称为 acme/hello-world,其中 acme 是供应商的名称。供应商的名称是必须填写的。[indent]注意: 如果你不知道拿什么作为供应商的名称, 那么使用你 github 上的用户名通常是不错的选择。 虽然包名不区分大小写,但惯例是使用小写字母,并用连字符作为单词的分隔。[/indent] 平台软件包Composer 将那些已经安装在系统上,但并不是由 Composer 安装的包视为一个虚拟的平台软件包。这包括PHP本身,PHP扩展和一些系统库。 [*]php 表示用户的 PHP 版本要求,你可以对其做出限制。例如 >=5.4.0。如果需要64位版本的 PHP,你可以使用 php-64bit 进行限制。 [*]hhvm 代表的是 HHVM(也就是 HipHop Virtual Machine) 运行环境的版本,并且允许你设置一个版本限制,例如,´>=2.3.3´。 [*]ext- 可以帮你指定需要的 PHP 扩展(包括核心扩展)。通常 PHP 拓展的版本可以是不一致的,将它们的版本约束为 * 是一个不错的主意。一个 PHP 扩展包的例子:包名可以写成 ext-gd。 [*]lib- 允许对 PHP 库的版本进行限制。 以下是可供使用的名称:curl、iconv、icu、libxml、openssl、pcre、uuid、xsl。 你可以使用 composer show --platform 命令来获取可用的平台软件包的列表。 指明版本你需要一些方法来指明自己开发的包的版本,当你在 Packagist 上发布自己的包,它能够从 VCS (git, svn, hg) 的信息推断出包的版本,因此你不必手动指明版本号,并且也不建议这样做。请查看 标签 和 分支 来了解版本号是如何被提取的。如果你想要手动创建并且真的要明确指定它,你只需要添加一个 version 字段:{ "version": "1.0.0"}[indent]注意: 你应该尽量避免手动设置版本号,因为标签的值必须与标签名相匹配。[/indent] 标签对于每一个看起来像版本号的标签,都会相应的创建一个包的版本。它应该符合 ´X.Y.Z´ 或者 ´vX.Y.Z´ 的形式,-patch、-alpha、-beta 或 -RC 这些后缀是可选的。在后缀之后也可以再跟上一个数字。下面是有效的标签名称的几个例子: [*]1.0.0 [*]v1.0.0 [*]1.10.5-RC1 [*]v4.4.4beta2 [*]v2.0.0-alpha [*]v2.0.4-p1 [indent]注意: 即使你的标签带有前缀 v, 由于在需要 require 一个版本的约束时是不允许这种前缀的, 因此 v 将被省略(例如标签 V1.0.0 将创建 1.0.0 版本)。[/indent] 分支对于每一个分支,都会相应的创建一个包的开发版本。如果分支名看起来像一个版本号,那么将创建一个如同 {分支名}-dev 的包版本号。例如一个分支 2.0 将产生一个 2.0.x-dev 包版本(加入了 .x 是出于技术的原因,以确保它被识别为一个分支,而 2.0.x 的分支名称也是允许的,它同样会被转换为 2.0.x-dev)。如果分支名看起来不像一个版本号,它将会创建 dev-{分支名} 形式的版本号。例如 master 将产生一个 dev-master的版本号。下面是版本分支名称的一些示例: [*]1.x [*]1.0 (equals 1.0.x) [*]1.1.x [indent]注意: 当你安装一个新的版本时,将会自动从它 source 中拉取。 详细请查看 install 命令。[/indent] 别名它表示一个包版本的别名。例如,你可以为 dev-master 设置别名 1.0.x-dev,这样就可以通过 require 1.0.x-dev 来得到 dev-master 版本的包。详细请查看“别名”。 锁文件如果你愿意,可以在你的项目中提交 composer.lock 文件。他将帮助你的团队始终针对同一个依赖版本进行测试。任何时候,这个锁文件都只对于你的项目产生影响。如果你不想提交锁文件,并且你正在使用 Git,那么请将它添加到 .gitignore 文件中。 发布到 VCS(线上版本控制系统)一旦你有一个包含 composer.json 文件的库存储在线上版本控制系统(例如:Git),你的库就可以被 Composer 所安装。在这个例子中,我们将 acme/hello-world 库发布在 GitHub 上的 github.com/username/hello-world 中。现在测试这个 acme/hello-world 包,我们在本地创建一个新的项目。我们将它命名为 acme/blog。此博客将依赖 acme/hello-world,而后者又依赖 monolog/monolog。我们可以在某处创建一个新的 blog 文件夹来完成它,并且需要包含 composer.json 文件:[code]{ "name":"acme/blog", "require": { "acme/hello-world":"dev-master" } }[/code] 在这个例子中 name 不是必须的,因为我们并不想将它发布为一个库。在这里为 composer.json 文件添加描述。现在我们需要告诉我们的应用,在哪里可以找到 hello-world 的依赖。为此我们需要在 composer.json 中添加 repositories 来源申明:[code]{ "name":"acme/blog", "repositories": [ { "type": "vcs", "url": "https://github.com/username/hello-world" } ], "require": { "acme/hello-world":"dev-master" } } [/code] 更多关于包的来源是如何工作的,以及还有什么其他的类型可供选择,请查看资源库。这就是全部了。你现在可以使用 Composer 的 install 命令来安装你的依赖包了!小结: 任何含有 composer.json 的 GIT、SVN、HG 存储库,都可以通过 require 字段指定“包来源”和“声明依赖”来添加到你的项目中。 发布到 packagist好的,你现在可以发布你的包了,但你不会希望你的用户每次都这样繁琐的指定包的来源。你可能注意到了另一件事,我们并没有指定 monolog/monolog 的来源。它是怎么工作的?答案是 packagist。Packagist 是 Composer 主要的一个包信息存储库,它默认是启用的。任何在 packagist 上发布的包都可以直接被 Composer 使用。就像 monolog 它被 发布在 packagist 上,我们可以直接使用它,而不必指定任何额外的来源信息。如果我们想与世界分享我们的 hello-world,我们最好将它发布到 packagist 上。这样做是很容易的。你只需要点击那个大大的 "Submit Package" 按钮并注册。接着提交你库的来源地址,此时 packagist 就开始了抓取。一旦完成,你的包将可以提供给任何人使用。
-
Composer工具安装配置教程 简介Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。 [hr] [*]简介 [*]依赖管理 [*]声明依赖关系 [*]系统要求 [*]安装 - *nix [*]下载 Composer 的可执行文件 [*]局部安装 [*]全局安装 [*]全局安装 (on OSX via homebrew) [*]安装 - Windows [*]使用安装程序 [*]手动安装 [*]使用 Composer [*]自动加载 [hr] 依赖管理Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。 这种想法并不新鲜,Composer 受到了 node´s npm 和 ruby´s bundler 的强烈启发。而当时 PHP 下并没有类似的工具。 Composer 将这样为你解决问题: a) 你有一个项目依赖于若干个库。 b) 其中一些库依赖于其他库。 c) 你声明你所依赖的东西。 d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。 声明依赖关系比方说,你正在创建一个项目,你需要一个库来做日志记录。你决定使用 monolog。为了将它添加到你的项目中,你所需要做的就是创建一个 composer.json 文件,其中描述了项目的依赖关系。 { "require": { "monolog/monolog": "1.2.*" }}我们只要指出我们的项目需要一些 monolog/monolog 的包,从 1.2 开始的任何版本。 系统要求运行 Composer 需要 PHP 5.3.2+ 以上版本。一些敏感的 PHP 设置和编译标志也是必须的,但对于任何不兼容项安装程序都会抛出警告。 我们将从包的来源直接安装,而不是简单的下载 zip 文件,你需要 git 、 svn 或者 hg ,这取决于你载入的包所使用的版本管理系统。 Composer 是多平台的,我们努力使它在 Windows 、 Linux 以及 OSX 平台上运行的同样出色。 安装 - *nix 下载 Composer 的可执行文件 局部安装要真正获取 Composer,我们需要做两件事。首先安装 Composer (同样的,这意味着它将下载到你的项目中): curl -sS https://getcomposer.org/installer | php[indent]注意: 如果上述方法由于某些原因失败了,你还可以通过 php >下载安装器: [/indent]php -r "readfile(´https://getcomposer.org/installer´);" | php这将检查一些 PHP 的设置,然后下载 composer.phar 到你的工作目录中。这是 Composer 的二进制文件。这是一个 PHAR 包(PHP 的归档),这是 PHP 的归档格式可以帮助用户在命令行中执行一些操作。 你可以通过 --install-dir 选项指定 Composer 的安装目录(它可以是一个绝对或相对路径): curl -sS https://getcomposer.org/installer | php -- --install-dir=bin 全局安装你可以将此文件放在任何地方。如果你把它放在系统的 PATH 目录中,你就能在全局访问它。 在类Unix系统中,你甚至可以在使用时不加 php 前缀。 你可以执行这些命令让 composer 在你的系统中进行全局调用: curl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/local/bin/composer[indent]注意: 如果上诉命令因为权限执行失败, 请使用 sudo 再次尝试运行 mv 那行命令。 [/indent]现在只需要运行 composer 命令就可以使用 Composer 而不需要输入 php composer.phar。 全局安装 (on OSX via homebrew)Composer 是 homebrew-php 项目的一部分。 brew updatebrew tap josegonzalez/homebrew-phpbrew tap homebrew/versionsbrew install php55-intlbrew install josegonzalez/php/composer 安装 - Windows 使用安装程序这是将 Composer 安装在你机器上的最简单的方法。 下载并且运行 Composer-Setup.exe,它将安装最新版本的 Composer ,并设置好系统的环境变量,因此你可以在任何目录下直接使用 composer 命令。 手动安装设置系统的环境变量 PATH 并运行安装命令下载 composer.phar 文件: C:\Users\username>cd C:\binC:\bin>php -r "readfile(´https://getcomposer.org/installer´);" | php[indent]注意: 如果收到 readfile 错误提示,请使用 http 链接或者在 php.ini 中开启 php_openssl.dll 。 [/indent]在 composer.phar 同级目录下新建文件 composer.bat : C:\bin>echo @php "%~dp0composer.phar" %*>composer.bat关闭当前的命令行窗口,打开新的命令行窗口进行测试: C:\Users\username>composer -VComposer version 27d8904 使用 Composer现在我们将使用 Composer 来安装项目的依赖。如果在当前目录下没有一个 composer.json 文件,请查看基本用法章节。 要解决和下载依赖,请执行 install 命令: php composer.phar install如果你进行了全局安装,并且没有 phar 文件在当前目录,请使用下面的命令代替: composer install继续 上面的例子,这里将下载 monolog 到 vendor/monolog/monolog 目录。 自动加载除了库的下载,Composer 还准备了一个自动加载文件,它可以加载 Composer 下载的库中所有的类文件。使用它,你只需要将下面这行代码添加到你项目的引导文件中: require ´vendor/autoload.php´;现在我们就可以使用 monolog 了! composer的中文官方文档地址为:https://docs.phpcomposer.com/00-intro.html composer的英文官方文档地址为:https://getcomposer.org/doc/00-intro.md
-
PHP 7.2.0 RC5 发布了。PHP(PHP:Hypertext Preprocessor)是一种在电脑上执行的脚本语言,主要是用途在于处理**页,也包含了命令列执行接口(command line inte**ce),或者产生图形使用者接口(GUI)程式。改进日志如下: 26 Oct 2017, PHP 7.2.0RC5 - Core: . Fixed bug #75368 (mmap/munmap trashing on unlucky allocations). (Nikita, Dmitry) - CLI: . Fixed bug #75287 (Builtin webserver crash after chdir in a shutdown function). (Laruence) - Date: . Fixed bug #75055 (Out-Of-Bounds Read in timelib_meridian()). (Derick) - Enchant: . Fixed bug #53070 (enchant_broker_get_path crashes if no path is set). (jelle van der Waa, cmb) . Fixed bug #75365 (Enchant still reports version 1.1.0). (cmb) - Exif: . Fixed bug #75301 (Exif extension has built in revision version). (Peter Kokot) - Fileinfo: . Upgrade bundled libmagic to 5.31. (Anatol) - GD: . Fixed bug #65148 (imagerotate may alter image dimensions). (cmb) - Intl: . Fixed bug #75378 ([REGRESSION] IntlDateFormatter::parse() does not change $position argument). (Laruence) . Fixed bug #75317 (UConverter::setDestinationEncoding changes source instead of destination). (andrewnester) - JSON: . Fixed bug #68567 (JSON_PARTIAL_OUTPUT_ON_ERROR can result in JSON with null key). (Jakub Zelenka) - OCI8: . Fixed valgrind issue. (Tianfang Yang) - Opcache: . Fixed bug (assertion fails with extended info generated). (Laruence) . Fixed bug (Phi sources removel). (Laruence) . Fixed bug #75370 (Webserver hangs on valid PHP text). (Laruence) . Fixed bug #75357 (segfault loading WordPress wp-admin). (Laruence) . Fixed bug #75373 (Warning Internal error: wrong size calculation). (Laruence, Dmitry) - Openssl: . Fixed bug #75363 (openssl_x509_parse leaks memory). (Bob) - PCRE: . Fixed bug #75207 (applied upstream patch for CVE-2016-1283). (Anatol) - PGSQL: . Fixed bug #75419 (Default link incorrectly cleared/linked by pg_close()). (Sara) - Standard: . Fixed bug #75221 (Argon2i always throws NUL at the end). (cmb) - Zlib: . Fixed bug #75299 (Wrong reflection on inflate_init and inflate_add). (Fabien Villepinte) 下载地址: https://downloads.php.net/~pollita/
-
本帖最后由 码小玩 于 2017-9-28 15:49 编辑PHP7于2015年11月正式发布,本次更新可谓是PHP的重要里程碑,它将带来显著的性能改进和新特性,并对之前版本的一些特性进行改进。本文将和大家一起来了解探讨PHP7中的新特性。 1. 标量类型声明我们知道PHP是一种弱类型的编程语言,因此没有提供任何方法来指定输入参数和返回值的类型,PHP7突破了这种现状,增加了对标量类型(int,float,string,bool)的声明支持,增加declare(strict_types=1)指令声明是否严格类型校验,我们来看一段代码:有效的类型有:class/interfacename, self, array, callable, bool, float, int and string. 2.?? ——NULL 合并运算符PHP7中添加了NULL合并运算符,不要小看这个“??”,有了它我们就能很方便的获取一个参数,并能在其为空的情况下提供一个默认值。如何??运算符左侧值存在并且不为NULL,则返回左侧,否则将返回其右侧值。 3. 匿名类匿名类顾名思义没有类名称,其声明和实例化是同时的,PHP7 支持通过 new class 来实例化一个匿名类,可以用来替代一些”用后即焚”的完整类定义。 4. 更多 Error 错误可以进行异常处理PHP7中更多的Error变为可捕获的Exception返回给开发者,如果不进行捕获则为Error,如果捕获就变为一个可在程序内处理的Exception。默认情况下,Error会直接导致程序中断,而PHP7则通过try / catch程序块捕获并且处理,让程序继续执行下去,为程序员提供更灵活的选择。 5. 结合比较运算符(=> )这个不多解释,我们直接看示例代码,通过代码你可以很容易了解该运算符的作用。 6. 定义数组常量过去我们在用define()定义常量时,数据类型只支持标量,但在PHP7中,支持定义数组类型的常量。PHP7新增的特性还有很多,今天我们先介绍到这,后续会持续更新,同时也欢迎广大PHPer补充,我们共同交流,共同学习,共同进步。 来源:程序师
-
本帖最后由 燕姑娘 于 2017-9-23 11:17 编辑目前有这样一个需求,在一个域名下 如:[color=rgb(0,154,97)]http://example.com 下,有两个项目,example.com/a/,example.com/b/,这两个项目是相互独立的程序,有不同的会员登录机制,但是我们知道,在同一个域名下,它的 session 会话是共享的,也就是你在a站登录后,b站也会出现你在a站的session信息,因为默认的 session_id 名字是 PHPSESSID,即当你第一访问a项目时,它会自动生成一个名为 PHPSESSID 的session_id,并在服务器端创建一个以session_id 命名的文件,然后发送session_id到浏览器的cookie里保存,当下一次访问时,则会携带该 cookie 信息,服务器端拿到session_id,然后再继续会话。这样就会出现会话信息共享的局面,应该怎样独立出两个不同的会话信息呢? 一、定义session_name其实很简单的,只需在b项目的初始化文件中使用session时,修改下 session_name 就可以了。example.com/a/init.phpsession_start();// ... example.com/b/init.php// session_id(´123456´); // 可以自定义session_id,默认是系统自己生成的session_name(´EBCP_SID´); // session_name 必须定义在session_start() 前session_start();// ... 二、测试example.com/a/test.php?php// a项目测试页面define("IN_EB", true);include_once("./init.php");if($_SESSION[´nickname´]){ // dump("session 页面- 欢迎你继续回来 {$_SESSION[´nickname´]} " . date("Y-m-d H:i:s"));}else{ $_SESSION[´nickname´] = "Corwien"; dump("session 页面- 你是第一次登录 {$_SESSION[´nickname´]} " . date("Y-m-d H:i:s"));}输出结果:session 页面- 欢迎你继续回来 Corwien 2017-09-22 07:49:15a项目的浏览器cookie:2255 example.com/b/test.php?php// b项目测试页面define("IN_EB", true);include_once("./init.php");if($_SESSION[´nickname´]){ // dump("session_v2 页面- 欢迎你继续回来 {$_SESSION[´nickname´]} " . date("Y-m-d H:i:s"));}else{ $_SESSION[´nickname´] = "JackMa"; dump("session_v2 页面- 你是第一次登录 {$_SESSION[´nickname´]} " . date("Y-m-d H:i:s"));} 输出结果:session_v2 页面- 欢迎你继续回来 JackMa 2017-09-22 07:49:15b项目的浏览器cookie:2257 本问答转自segmentdefault 作者Corwien
-
我想写在数据库。但是这样怕浪费资源了。有人有好的见解么
-
原文出处:开源中国 Facebook 的 HHVM 是一个高速的 PHP 执行引擎,日前宣布将会逐渐摆脱对最新的主要 PHP 版本 — PHP 7 的依赖,重点使用 PHP 的一个分支 —— Hack 语言。HHVM 的下一个长期支持版本 3.24 版将于 2018 年初发布,可能会是最后一次对 PHP 5 的支持的提交。HHVM 团队表示,同时支持 PHP 7 和 Hack 会给两者都带来不良的折中方案。我们计划将自己从 PHP 中抽离出来,从而最大发挥 Hack 的优势,无需考虑 PHP 的设计中那些古老的问题。PHP 7 呈现出与 PHP 5 之间的实质性偏离,也改变了多个行为,其中一些不能向后兼容。PHP 7 计划开辟一条与 PHP 5 不同的新道路,HHVM 团队也希望做同样的事,因此,他们表示团队不会把精力放在 PHP 7 上,但我们有一条明确的道路,使 Hack 成为 Web 开发中优秀的语言,不受它起源于 PHP 的限制。这几年来,Facebook 几乎一直通过运行 Hack 来使用 HHVM 。团队表示 Hack 已经解决了许多 PHP 7 中已修复或未修复的 PHP 5 的缺点。
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签