PHP

PHP 7.1.27/7.2.16/7.3.3发布

IT之家3月8日消息 日前,PHP官方正式发布了PHP 7.1.27、PHP 7.2.16、PHP 7.3.3,这三个版本的PHP已经可以在PHP官网上下载。

根据官方给出的更新日志,PHP 7.2和7.3中主要修复了数据库连接方面的问题,而PHP 7.1则修复了几个空指针、内存溢出以及未初始化问题。

值得注意的是,PHP此前发文提醒还在使用PHP7.1以下的用户尽快升级,因为PHP 7.1以下版本已经在今年一月份停止支持,如果网站继续使用这些老版本的PHP很有可能遭受攻击。

目前,PHP官方支持三个版本,分别是PHP 7.1、PHP 7.2和PHP 7.3,而PHP 7.1也将在2019年12月1日停止支持。所以官方目前推荐用户向PHP 7.2以上版本迁移。

不过,现阶段PHP 7.0以下版本仍然占据了PHP网站的3/4以上,所以对于这部分用户来讲,尽快升级PHP 7.2以上版本非常有必要。

展开
收起

PHP中“|”和“||”的简单比较

在PHP中“|”和“||”都是OR(或)运算符,那么它们之间有什么区别?下面本篇文章就来带大家认识一下运算符“|”和“||”,对它们进行简单比较,了解它们之间的区别。

运算符“|”

它是一个按位OR运算符,二元运算符;它对变量的位进行操作。如果有两个变量a,b,进行$a | $b;则是将把 $a 和 $b 中任何一个为 1 的位设为 1。

示例:

$a = 3; $b = 10; echo $a | $b; ?>

输出:

说明:

在上面的示例中,给定两个值,a = 3和b = 10;然后将这两个数字转换为二进制数,即a = 0011和b = 1010;最后应用OR(|)运算并计算$a | $b的值。

运算符“||”

这是一个逻辑OR运算符,布尔运算符;它对变量的布尔值进行操作。如果其中任何一个变量的布尔值为true,则$a || $b的值为1。

示例:

$a = 3; $b = 10; echo $a||$b; echo ''; if($a = 3 || $b = 0) echo '1'; else echo '0'; ?>

输出:

说明:

在上面的示例中,给定两个值,a = 3和b =10;因此变量a和变量b的布尔值都为true,则$a||$b的值为1;在if语句中,检查其中一个条件是否为真,因为变量a值被设置为3,布尔为true,因此执行“$a = 3 || $b = 0”的值为1。

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

展开
收起

快速搭建Apache+php部署环境,绝无废话

快速开始,绝无废话

我的linux服务器系统是CentOS 6.5

1,安装apache:

yum install httpd

apache的文件目录 /var/www/html

apache启动,停止,查看状态的命令:

service httpd startservice httpd stopservice httpd status

配置文件 /etc/httpd/conf/httpd.conf

修改端口(默认是80) Listen 8082

修改ServerName ServerName localhost:8082

测试,能出来页面OK了

2,安装php

yum install phpphp-devel

安装好后,php -v 查看一下

能出来版本说明ok

再重启一下apache

service httpd restart

写个php页面测试

在apache的文件目录 /var/www/html下,创建一个test.php

<?php echo "Hello world!"; ?><?php phpinfo(); ?>

保存后,回到浏览器测试

完成,

3,连接mysql

mysql的安装,略。公司有DBA,呵呵。

先安装php的扩展

yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc

安装完扩展之后需要再次重启apache

service httpd restart

测试mysql是否链接成功的php代码

<?php$servername = "localhost"; $username = "username";$password = "password"; $dbname = "数据库名"; $port = "端口"; // 创建连接$conn = new mysqli($servername, $username, $password, $dbname, $port); // 检测连接if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功";?>

完成。开始撸代码。

P.S:

吐槽一下,百家号这个编辑器,贴个代码是真费劲啊

展开
收起

PHP 可能在未来十年内消失?

犹记得,据 2001 年 7 月的 PHP 官方文档描述,“PHP 是有史以来最好的语言,没有之一。它快速,非常强大,而且免费。"不过,随着时间的迭代,不少开发者发现所谓世界上最好的语言 PHP,虽然能极大地提升性能,但是其功能不够完善最终导致 PHP 开始走上了下坡路,对此,你怎么看?

作者 | Italo Baeza

译者 | 孙薇,责编 | 屠敏

以下为译文:

自Wordpress、Drupal、CakePHP、Laravel、Symfony及许多其他的Web应用程序走上舞台以来,人们发现语言程序的创建如此简单,似乎也让语言出现了某种类似二次复兴的迹象。虚拟主机Web hosting再加上PHP + MySQL + Apache堆栈,就像野火一般迅速蔓延,突然每个人都在十分钟里建起了自己的网站:博客、购物车、相册等等,应有尽有。

PHP的支持者们乐于致力改善这门语言,最终他们成功了——迟钝的老版本逐渐被替换掉,PHP 7在性能和功能方面都更优,PHP 8甚至还支持JIT引擎。

但我认为,之后PHP会慢慢消失,甚至完全被淘汰。根据官宣,PHP 8的唯一主要功能就是JIT引擎——在CPU受限的场景中能提高性能,但也仅此而已,其他更新微不足道,不会对我们现有或未来的应用程序产生任何影响。

性能不会成为致命的问题,但功能缺乏才是问题。

暂时的胜利,最终的失败

在PHP5暴露问题(慢、依赖混乱、功能缺乏)的同时,Ruby、Python、Node.JS和Go都开始受到大众关注。Go出现得比较晚,但无论如何,我们可以看到这些语言的用途:

Websockets非阻塞IOPromises实现(即“在我执行其他任务时,完成此项任务”)更佳的数据流本地服务器部署桌面/移动应用的用法更干净的配置(如php.ini)软件包管理(后由Composer修复)这些新功能除了composer,全都不包括在PHP的核心功能中,甚至宣传和计划中都不涵盖。基本上,官方是让PHP社区自行决断要自己做这些功能,还是干脆放弃了事。

你可能会说,这些功能并非各个项目必需的,其可用性要取决于具体情况,这话没错,但要实现上述功能,我们必须要选择是用非官方的程序包,还是自己做一个。

举个例子,我们看一下WebSockets:必须在Ratchet、Swoole、Amp和React中作出选择。这意味着,针对关键性功能,作为开发人员,我们不但要确保遵守程序包的相关文档,保证程序包的可维护性,还要关注PHP的版本更新情况,才能保证不出问题。我可以想象,PHP8出现时,要在新版本上稳定下来,需要花费数周乃至数月的时间。

Swoole的案例是可以再讨论的。目前开发者可能不太热衷于使用这个麻烦缠身的软件,尤其是考虑到语言障碍的问题,但如果想要进一步研究的话,可以点击这里查看开源代码。

虽然近来,人们的关注点有些偏移向语言本身添加某些helper和命令,但这些helper方法的混乱也是多年来未曾解决的问题:ucfirst(), strtolower(), str_replace()…我们为什么不能在使用统一命名上达成一致?为什么直到今日,仍然没有人能从数组中提取一些键?

回到重点,不要误会我反对使用第三方程序包,但我希望负责PHP本身的人员比随机的公司拥有更多的可维护性。

而且别让我用台式机或者移动应用程序。PHP是一种面向Web的语言,大多数开发者都默认这一点,但即便Node.JS被逐出了市场,PHP也不会有希望成为相应生态系统中的替代品。

具体到Node.JS的案例中,很大可能JavaScript编写的部分服务器代码模块是可以重用在之前的移动或桌面应用中的。对公司所有者而言,这意味着公司不必再雇佣另一个有其他语言经验的开发者了,除非收益大过成本。

恐怕这就是我们将要面临的局面:

应用一开始用PHP代码库开发;管理者索要新功能;某个其他语言会填充PHP不提供的功能区;最终开发者要使用两个生态系统。同样,每种语言都有其特色和要警惕的问题,但我始终认为,一种语言要有功用性,能够让使用者完成自己的任务,而不是让人吃亏——如果不是为了PHP社区的利益,很难设想PHP会达成以上要求。

未来严峻

事实上,PHP8出现时会使用JIT编译器,但PHP背后没有核心开发者。而且Rogue Weave公司也更倾向于Zend Server,而非持续推动PHP核心Zend引擎的开发。这些功能可能永远无法实现,而且在这些问题列入考量时,Node.JS和Go等语言也已经拥有了更广阔的生态系统。

据我了解,JIT编译器应当允许开发者使用纯PHP而不是C++来创建扩展套件,这样性能损耗较低,可能会让语言功能发展得更快些,但创建者所提供的支持和/或可维护性也是语言持续的保证,否则难说软件包维护者是否会像Predis那样选择退出。

综上,在我看来,功能匮乏将使得PHP慢慢消失,而其他语言则会继续向前发展。

原文:https://medium.com/@DarkGhostHunter/php-could-fade-away-in-the-next-decade-584e46d760db

本文为 CSDN 翻译,转载请注明来源出处。

展开
收起

学了一个月的php,个人对于学习PHP的感想

PHP是动态网站开发的优秀语言。关于学习PHP的话题有很多,比如为什么要学这个,怎样更有效的学习这个技能,还有就是在经过这么些天的学习,到底学到了什么等等。关于PHP每个人都有不一样的想法,所以今天在这想说一下,我个人对于学习PHP的感想。

首先,我之所以想学这个技术也是自身的需求吧!因为自己本身也是学这个专业的,所以也是想以后从事这个行业。但是计算机在这个时代每时每秒不在更新,而且之前在校园内也是差不多算是与世事隔绝,所以对于刚从校园出来的我们来说,对找工作这方面一无所知,在技术上也说不上很好。

所以想着从头再学一次,提高技术上的能力。从开始学习到现在为止,突然发现过去学到的好像只是凤毛麟角。PHP的作用是把数据库中的数据经过PHP展示在前端上,而且学习PHP需要有强大的记忆力、数学和逻辑思维等。因为它需要运用许多复杂的函数实现用户想要的功能,都说学习PHP的人,有C语言基础学起来更容易,但是我没学过,所以不知道这句话的效果。对于一个新手来说,PHP的概念让人难以理解,然后就都蒙圈了,怎么这么些乱七八糟的东西在网页上显示出来却是相差甚大,所以写起来更是难上加难。

框架其实就是可重用代码的集合,框架的代码是框架架构的代码,不是业务逻辑代码,框架代码保护类、方法、函数等等,框架代码按照一定的规则组合起来就形成了框架。它是将不同Web系统开发过程中的共性、通用部分功能进行抽象,形成开发Web程序的基本构架。PHP开发框架封装了底层的操作,把Web程序开发摆到了流水线上。换句话说,PHP开发框架有助于促进快速软件开发。使用PHP框架既节约了开发者的时间,也有助于开发者创建更为稳定的程序,并减少开发者重复编写代码的劳动。PHP开发框架使得开发者可以花更多的时间去创造真正的Web程序,而不是编写重复性的代码。

PHP在网站开发中很重要,任何网站都是由网页组成的,也就是说要想做好网站必须先学会做好网页因此必须要掌握HTML,才能为今后做好网页打下基础。在学习HTML中边学边做是最有效的方式,当然这在任何一种学习上都适用,HTML是经过HTML解析器,所以PHP就通过PHP解析器了,想让任何的解析器完成操作就必须用他们专用的语法结构,搞清楚HTML和PHP的概念,那么让PHP和HTML混淆应该也不难了。

另外除了这些语言之外,还有Mysql和js语言,所以我发现在学习PHP这上面要掌握许多种不同的语言,知道他们各自的功能以及代码的作用。因而在这上面是要永不停休的学习,在不断的学习中提升自己的能力,才不会被时代甩在后面。

展开
收起

2019,看 PHP 未来发展

关于 P++ idea

最近 Zeev Suraski 在 php.net 的 wiki 上提出了一个 idea,是关于打造一个 P++ 的 PHP 项目。

P++,静态化的 PHP。但是,有这么一段话:

This is not a fork. The codebase will be identical, it would be versioned together and developed by the same people. The binaries will be identical - if you’d install PHP, you’d be installing P++ and vice versa. The same binary will be running your PHP, P++ or combined PHP/P++ apps.

意思是 P++ 不是 PHP 的另一个分支,而是共存的。在 PHP 环境下,多了一种选择,让我们可以用静态语言的方式去写代码。

<?p++?><?php'Hello, world!'; ?>这真是让我虎躯一震,PHP 核心开发者竟然也提出这种方案了。

这个方案究竟如何,为此我还去推特上看了看,除了一些直接叫好的人外,还有一些人的想法是这样的:

静态语言模式的 PHP 并不能给 PHP 带来什么质的飞跃,应该寻思着怎么通过添加功能来获得更多收益,而不是更改语法和语言规则看起来像是 FB 的 Hack/PHP 在 HHVM 做的事是否考虑渐进类型为什么不在目前的严格类型声明模式下去拓展这不禁让人想问,PHP 目前遇到了什么问题?

目前 PHP 的状况

最近这几年,PHP 确实是处于很尴尬的地位。虽然 PHP 在小公司里仍然占据很高的地位,但是随着业务的不断发展,很多公司不免都走上了 PHP 转 Java、PHP 转 Go 的路子上,亦或是将 PHP 逼向上层业务系统或者边缘化业务中。我的上一家公司,在我走之后,就开始招 Java 进行微服务改造了。

目前国内 PHP 的大梁,被 Swoole 硬生生给拉起来了,Swoole 的出现确实是给 PHP 注入了新的生命。但是呢,当我第一次接触 Swoole 的时候,我就感觉, Swoole 是在向 Go 靠拢,包括后来的 Swoole 4 协程,都有一种 PHP 中的 Go 的意思。而且韩大确实也表达了对 Go 语言的致敬。所以在刚接触 Swoole 时,我的想法是,为何不干脆上 Go 呢,然后我就转向学习 Go 语言,之后一发不可收拾,很大一段时间我都把功夫放在 Go 上了,现在我甚至不想重回 PHP。PHP 能做到的事,Go 都能做;Go 能做到的事,PHP 未必能或者未必能做得那么好。虽然 PHP 简单粗暴的优点相比 Go 还是存在优势,但是这不妨碍我喜欢上用 Go 语言。

PHP 就死了吗?

现在很多 “PHP已死” 的声音,还有“PHP正在走下坡路”之类的。说实话,确实有走下坡路的趋势,但是离死还差得远。

来看看这个统计就知道:

现在还是有 79% 的网站是由 PHP 打造,ASP 都没死,PHP 怎么会死呢,可以说未来10年 PHP 开发者都还能找到工作。不过这个统计不能说明什么,因为历史遗留的站点也包含其中,ASP Web开发者现在确实少见了吧。

不过 PHP 现在必须寻找出路了,PHP 单是性能上的提升,目前来看并没有给 PHP 带来很大的关注度,毕竟这门语言有诸多限制。所以 P++ 的提出,也是体现了 PHP 核心成员也是在给 PHP 寻找出路。

为什么这么尴尬

P++ 方案,在我看来,其实是违背了 PHP 的初心,但是如果保留初心,却没有出路,被其他语言蚕食份额,这正是尴尬点所在。

将 PHP 改造成静态类型语言,并不能改变给 PHP 的应用场景带来什么变化,其实有一大批开发者也是更倾向于动态脚本语言的;让 PHP 同时维持两种模式,又显得有些不三不四,本身 PHP 的一大槽点就是乱,这样反而会更乱。还不如学习 TypeScript 之于 JavaScript, 现在 TypeScript 的呼声还是挺高的。

PHP 本身的定位就是适合快速开发的服务器端编程语言,原本就适合与其它语言搭配,比如 PHP + Java/Go/C++ 进行优势互补就是一种选择方式,只不过这种配合方式是可以被取代的,将 PHP 复杂化似乎不符合其定位。

未来

以上都是个人看法。

作为一个 PHPer,PHP 作为我过去几年的核心开发语言,对 PHP 我还是很有情怀的。个人来看,PHP 的未来,就看接下来的 3~5 年的动作了,不管是 JIT 也好,P++ 也好,还是别的新理念新功能,必须要有让人眼前一亮的东西出现,否则还会继续走下坡路。

让我们一起期待吧。

展开
收起

全方位解读php8.0版本优化与改进

除非你一直生活在一块石头下,或者生活在过去,否则你会意识到JIT正在进入PHP 8:投票今天悄然结束,绝大多数人赞成合并到PHP8,所以,这是正式的,本文全方位解读php8.0版本优化与改进。

PHP8 官宣《PHP8首个版本 Alpha1 发布!》

现在,坐下来阅读下面这篇颠覆神话的文章,我们将澄清一些关于JIT是什么、它将带来什么好处的困惑,并深入研究它是如何工作的(但只是一点点,因为我不想让你感到无聊)。

因为我不知道我在和谁说话,所以我会从简单的问题开始,一直到复杂的问题,如果你已经确定你知道标题中问题的答案,你可以跳过那部分。。。

什么是JIT?

PHP实现了一个虚拟机,一种虚拟处理器,我们称之为Zend VM。PHP将人类可读的脚本编译成虚拟机能够理解的指令(我们称之为操作码),这个执行阶段就是我们所说的“编译时”。在执行的“运行时”阶段,虚拟机(Zend VM)执行代码的指令(操作码)。

这一切工作得很好,像APC(过去)和OPCache(现在)这样的工具可以缓存代码的指令(操作码),以便“编译时”只在必须的时候发生。

首先,有一行代码解释了什么是JIT:

Just-in-time 是一种编译器策略,它接受代码的中间表示形式,并在运行时将其转换为依赖于体系结构的机器代码,以便及时执行。

在PHP中,这意味着JIT将为Zend VM生成的指令作为中间表示,并发出依赖于体系结构的机器代码,因此代码的宿主不再是ZendVM,而是CPU。

为什么PHP需要JIT?

在PHP 7.0之前,PHP内部社区关注的焦点是性能,这是由Facebook的HHVM项目带来的良性竞争带来的。PHP 7.0中的大部分核心更改都包含在PHPNG补丁中,这大大改进了PHP在其核心上利用内存和CPU的方式,从那时起,我们每个人都被迫关注性能。

自PHP 7.0以来,已经有了一些性能改进,HashTable (PHP的核心数据结构)的优化,某些操作码的Zend VM的专门化,某些序列的编译器的专门化,以及对OPCache的优化器组件的不断改进。。。除此之外还有很多其他的,太无聊了。

这是一个残酷的事实,这些优化只能带我们到目前为止,我们正在迅速接近,或可能已经遇到了砖墙,在我们的能力,以进一步改善它。

注意:当我们说“我们不能再改进了”时,我们真正的意思是,“我们必须做出取舍,以进一步改进它不再看起来有吸引力”。。。每当我们讨论性能优化时,我们都在讨论权衡。通常,在简单性和性能之间进行权衡。我们都想认为最简单的代码是最快的代码,但在现代的C编程世界中,情况并非如此。最快的代码通常是准备利用依赖于体系结构的内部函数或依赖于平台(编译器)的内部函数的代码。简单并不能保证最好的性能。。。

此时,PHP的JIT功能似乎是从PHP获得更多性能的最佳方法。

JIT会让我的网站更快吗?

很有可能,并不明显。

也许不是您期望的答案:在一般情况下,用PHP编写的应用程序是I/O绑定的,JIT在CPU绑定的代码上工作得最好。

“I/O和CPU绑定”到底是什么意思?

当我们想要描述一段代码或一个应用程序的一般性能特征时,我们使用术语I/O绑定和CPU绑定。

最简单的说法是:

如果我们能够改进(减少、优化)它所做的I/O,那么一段I/O绑定的代码将会运行得更快。如果我们能够改进(减少、优化)CPU正在执行的指令,或者(神奇地)提高CPU的时钟速度,那么一段CPU限制的代码就会运行得更快:)一段代码或一个应用程序可以是I/O绑定、CPU绑定,或者与CPU和I/O同等绑定。一般来说,PHP应用程序往往是I/O绑定的——减慢它们速度的是它们正在执行的I/O——连接、读取和写入数据库、缓存、文件、套接字等等。CPU绑定的PHP是什么样子的?

由于大多数PHP应用程序的性质,许多PHP程序员并不熟悉CPU绑定代码——他们的工作往往是连接到某个数据库,或者可能是一个缓存,做一些轻量级的工作,并输出html/json/xml响应。

您可能会环顾代码库,发现许多与I/O无关的代码,甚至调用与I/O完全断开连接的函数的代码,并且会感到困惑,我似乎是在暗示这并没有使您的应用程序CPU受到限制,即使处理非I/O的代码行数可能比I/O多。

PHP实际上相当快,它是世界上解释速度最快的语言之一。Zend VM调用与I/O无关的函数和在机器代码中进行相同的调用之间没有显著的区别。

这显然是有区别的,但事实是,机器代码有一个调用约定,Zend VM有一个调用约定,机器代码有一个序言,Zend VM有一个序言:在Zend操作码中调用某个c_level_function()还是机器代码对调用应用程序的性能没有显著影响-尽管这似乎对那个电话有很大的影响。

注意:调用约定大致是指在进入另一个函数之前执行的一系列指令,序言是指在进入另一个函数时执行的一系列指令:在这两种情况下,调用约定都将参数推送到堆栈上,序言将它们从堆栈中弹出。

循环、尾调用和X呢?我听说你问过:PHP实际上非常聪明,启用了OPCache的优化器组件,你的代码就好像被魔法转化成了你能编写的最有效的形式。

现在需要注意的是,JIT不会改变Zend函数的调用约定,而不是VM建立的约定-Zend必须能够在任何时候在JIT和VM模式之间切换,因此决定保留VM建立的调用约定。因此,当JIT运行时,随处可见的那些调用并没有明显地加快速度。

如果您想了解CPU绑定的PHP代码是什么样子的,请查看Zend/bench.php文件... 这显然是一个极限的CPU代码示例,但它应该让我们知道JIT真正的亮点是在数学领域。

PHP是否为加快数学速度做出了最终的权衡?

不,我们这样做是为了扩大PHP的范围,而且相当大。

在这个非常偏颇的PHP开发人员看来,如果你在2019年是一名web程序员,你还没有考虑在下一个项目中使用PHP,那么你做的web是错误的。

在PHP中提高更快地执行数学的能力,乍一看,似乎是一个非常狭窄的范围。

然而,这实际上为机器学习、3d渲染、2d(gui)渲染和数据分析(仅举几个例子)打开了大门。

为什么我们不能在PHP 7.4中使用它呢?

我刚刚把JIT称为“最终的权衡”,我认为它是:它可以说是有史以来最复杂的编译器策略之一,也许是最复杂的。引入JIT就是引入相当的复杂性。

如果你问Dmitry(JIT的作者)他是否让PHP变得复杂,他会说“不,我讨厌复杂性”(这是一个直接的引语)。

归根结底,复杂是我们所不了解的,而目前,真正了解JIT实现的内部开发人员(不到几个)很少。

PHP 7.4的发展很快,合并到php7.4中会给我们留下一个PHP版本,只有不到几个人可以调试、修复或改进(在任何实际意义上)。对于那些对合并到PHP 7.4投反对票的人来说,这种情况是不可接受的。

在从现在到PHP 8的这段时间里,我们中的许多人将在业余时间努力理解JIT:

我们仍然有一些要实现的特性和需要为php8重写的工具,首先我们必须理解JIT。我们需要这一次,并非常感谢大多数选民认为适合把它交给我们。

复杂并不是可怕的同义词:

复杂可以是美丽的,就像星云一样,JIT就是那种复杂。原则上,你可以完全理解某件复杂的事情,并且只在表面上的复杂程度上稍微降低一点。换句话说,即使有20个内部开发人员和Dmitry一样熟悉JIT,它也不会真正改变JIT的复杂性。

PHP的开发速度会减慢吗?

没有理由认为会这样。我们有足够的时间可以满怀信心地说,到PHP 8普遍可用时,我们中已经有足够多的人熟悉JIT,至少在修复bug和推动PHP向前发展方面能够像今天一样发挥作用。

当试图将这一点与JIT本质上是复杂的观点联系起来时,请考虑我们花在引入新特性上的大部分时间实际上是花在讨论该特性上的。对于大多数功能,甚至修复,代码可能需要几分钟或几小时的编写时间,而讨论则需要几周或几个月的时间。在极少数情况下,一个特性的代码可能需要几个小时或几天的时间来编写,但在这些极少数情况下,讨论总是需要更长的时间。

展开
收起

认识PHP,快速搭建PHP环境

织梦DEDECMS建站学习02

1.认识php

PHP:

PHP: Hyper text Preprocessor"的缩写,即“超文本预处理器。PHP是一种功能强大,并且简便易用的脚本语言,它可嵌入到HTML中,尤其适合web开发。

起源:

1994年Rasmus创造了PHP (这完全是Rasmus的个人爱好)

1997年,Zeey、Andi重写了解析器,发展到php3。 (有了队伍)

2000年5月,php4发布,它使用了Zend引擎(Zeey+Andi)。(有 了标准)

2004年7月,php5正式发布。(飞速发展,不断创新)

PHP的最版本为PHP 7. X。

PHP的官方网址下载。

特点:

PHP是免费的;

效率高: PHP消耗相当少的系统资源;

易学易用,功能强太;

跨平台的。可以运行在UNIX、LINUX、WINDOWS下;

嵌入HTML:因为PHP可以嵌入HTML语言,学习起来并不困难;

PHP5是面向对象的。

... ...

2.PHP优势

PHP优势

3. PHP运行环境

PHP运行前提:1.操作系统,2.WEB服务器,3.PHP组件

WAMP: Windows+Apache+Mysql+Php

WNMP: Windows+Nginx+Mysql+Php

LAMP: Linux+Apache+Mysql+Php

LNMP: Linux+Nginx+Mysql+Php

Apache HtTP Server (简称Apache)是Apache软件基金会的一个开放源码的网页服务器。Apache是世界使用排名第一的Web服务器软件。 它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。

Nginx("enginex")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的Web和反向代理服务器,也是一IMAP/POP3/SMTP代理服务器。在高连接并发的情况下,Nginx是Apache服 务器不错的替代品。

安装了PHP环境之后,Apache/Nginx才可能运行PHP文件。

新手安装过程推荐组合包安装!

官方网站:自行下载

注意:我们还可以安装zend引擎:用于php优化。

windows下安装:

推荐软件: phpstudy 官网下载

phpstudy

4.第一个PHP页面

1)路径:www下新建目录文件,用于区别不同项目

目录

2)代码:

代码

3)访问:浏览器输入本机网址路径:127.0.0.1/stedy/index.php

网址

最终执行结果!

展开
收起

PHP 是生还是死?

PHP曾经开启了我作为开发的职业生涯,但是,现在呢?

作者 | Aphinya Dechalert

译者 | 弯月,责编 | 郭芮

以下为译文:

如今,我们很少在主流媒体中听说有关PHP的新闻了。在这个Angular、React、Node.js以及Python占据顶流的时代,就连计算机科学学位也都把焦点集中在Java和C语言上了。

与此同时,PHP只能默默地蜷缩在角落里,注视着其他语言走红。

15岁那一年,我开始学习编程,而最初接触的就是PHP。从那以后,我经历了一段漫长的旅程,期间还曾接触过Java和JavaScript,然而PHP总是会在不经意间悄悄地出现在我的职业生涯中。

如今,PHP是生还是死?我们是不是已经被铺天盖地的JavaScript报道蒙蔽了双眼,成为了井底之蛙?下面就让我们通过本文来一探究竟吧。

79%的Web

当有人提到PHP时,很多人往往会表现出对这种语言的嘲讽,然而根据W3Techs的一份报告,如今79%的Web仍在使用PHP。尽管在90年代-2000年初,PHP曾因安全问题而声名狼藉,但它仍然是服务器端最常用的语言。

然而,这种成功在很大程度上是因为它与WordPress的紧密绑定关系。CMS的广受欢迎可以追溯到2003年,当时正值互联网与个人博客开始走向主流。WordPress击败了Google的Blogger,成为CMS在主要非技术市场的首选。

WordPress旨在帮助大众制作普通的网页,而且它打破了制作CMS的技术门槛。

根据Matt Mullenweg在2014年访问新西兰奥克兰期间的讲话,他提到Squarespace的Superbowl广告为WordPress提供了免费的广告宣传,因为当时的比较平台是用WordPress搭建的。

由于WordPress是用PHP构建的,因此几乎所有共享托管服务提供商均支持PHP,所以PHP依然占据着61.5%的互联网。因此,PHP作为一种语言似乎并不会在短期内消亡。

即使WordPress决定用另一种语言重新构建,仍然有大量的旧站点需要迁出,并迁移到新的环境中。

瞬息万变的大环境

PHP与WordPress的紧密联系会影响到开发人员对这种语言的看法。它常常与WordPress生态系统的主题和插件开发息息相关。

在与WordPress相关的活动之外,PHP的使用大多涉及遗留的定制平台。通常,对于创业公司或新业务项目而言,没有人会将PHP作为潜在的候选。

根据英国招聘机构Darwin Recruitment公布的招聘需求数据显示,PHP招聘需求呈现出逐年下降的趋势。

然而,PHP岗位的申请竞争却呈现出上扬的趋势。这两种相反的趋势表明PHP岗位的申请压力并不会随着时间的推移而降低。

看到这里,你可能想说,这只是其中一家机构的报道,他们统计的趋势可能不准。然而,在过去的5年中,全球范围内人们对“PHP”一词的搜索兴趣呈现出持续的小幅下降趋势,其中搜索次数最多的国家是中国和菲律宾。

有趣的是,“PHP”一词搜索量的起伏恰恰与“WordPress”相吻合。

过去5年中Google上的搜索趋势,蓝色为PHP,红色为WordPress。

主题市场如何?

由于PHP与WordPress的捆绑关系,定制主题以及创建插件似乎才是主要的商业机会,尤其是当你希望成为这方面的自由职业者时。

目前,ThemeForest是与WordPress相关的最大商业市场,有114位作者的收入超过100万美元,这个收入看似很多,然而放眼4.7万个活跃的WordPress主题市场,这笔数目其实微不足道。我们没有简单的方法统计每位作者的平均交易数,但他们的总和加起来可能不超过10%。

尽管这也算得上一项良好的被动收入渠道,但是要作为一家企业运营可能需要付出更多努力。但是,所有的付出都有各自的回报。

2013年,为了在WordPress主题市场上分一杯羹,托管业务巨头BlueHost收购了Mojo Themes,并更名为Mojo Marketplace。然而,它没有取得Envato的ThemeForest那样的成功,其大部分主题销售量都不到1000份。

写在最后

PHP尚未完全消亡,但也失去了生机,无法像JavaScript那样在开发生态系统中撑起一片天。PHP作为服务器端的语言与WordPress保持着亲密的关系,其立足之本仍然是普通用户对该平台的长期依赖。

由于PHP已成为内容创建生态系统不可或缺的一部分,因此它不可能在一两年或短期内消失。托管业务公司在持续支持WordPress作为首选的CMS方面也发挥了作用,与其他服务器端语言(比如Java、C++等)相比,对普通用户来说,WordPress更易于使用。

尽管有关PHP已死的传言满天飞,然而事实却并非如此,只要WordPress还活着并正常运行,PHP就不会消亡,况且如今的WordPress依然生龙活虎。不幸的是,许多遗留的PHP代码与旧版的WordPress捆绑在一起,而这些网站的所有者未能完全更新这些旧版本。

此外,PHP还拥有强大的社区在积极推进WordPress之外的活动,例如Laravel和Symphony,尽管我并未在本文中具体探讨。而且PHP本身也得到了积极维护,其下一版本计划于2019年11月发布。

因此,总的来说,PHP一切安好。

原文:https://medium.com/@PurpleGreenLemon/is-php-dead-or-alive-611ae8e7e6e3

本文为 CSDN 翻译,转载请注明来源出处。

展开
收起

php版本升级?php哪个版本好?

嗯哼,刚开始也不懂php是什么鬼。后来懂了,原来是一种环境语言,服务器和虚拟主机都需要它,必然是需要的。而本人一直以来心中有个疑惑,PHP版本是不是越高越稳定,越高就越好呢?在一般情况下,版本越新越好,就拿wordpress来说在PHP7.0环境下比之前的版本速度提升在3倍左右,3倍,3倍,3倍哦!飞起来了!

目前,PHP最高版本是7.2.x.x,然而我们一般使用的还是php5.5.x或者是Php5.6.x,甚至还有相当一部分使用的PHP5.3.X,PHP5.4.X版本。主要还是很多程序都不支持新的PHP版本,特别是一些很久没有更新的程序,只支持PHP5.2.X系列版本,到底选择什么版本,还得取决于您使用的什么程序以及相应的模板,而不是盲目的追求过高的版本。如果要兼容更多的程序,建议使用PHP5.5.X版,如果要追求更高的性能,推荐PHP5.6.X甚至PHP7.0系列。

目前wordpress程序很够非常完美的支持php7.0,然而部分没有更新的模板在7.0下有很多的问题,因此建议使用wordpress程序的伙伴在选择PHP7.0版本的时候特别要注意自己使用的模板以及插件是否兼容哦,如果是商业模板建议咨询作者,不要盲目的进行升级与替换。

目前本人使用的是bt系统,里面PHP版本可以自行下载各个版本,自行组合,由于模板等方面因素使用的是PHP5.6,和PHP7.0。所以在这里提醒各位不要盲目的追求过高的版本,根据自己程序最佳的PHP环境进行配置与选择哦,越新的版本,刚开始的BUG也是比较多,稳定性方面也可能打折扣的哦,老版本,毕竟经过了长时间的检验哦。

展开
收起