0

PHP能创造成功:旧代码不一定是遗留代码

图源:Google过去的一年里,Vimeo开发人员用多种编程语言编写了后端代码——PHP、Go、Ruby、Python、NodeJS、Java、C语言、C++和Rust。2004年,Vimeo开始使用PHP。对于像Vimeo这样的初创公司来说,PHP无疑是一种理想编程语言。PHP的解释器使企业家可以快速开发原型,它附带一个大型标准库,可以省去一些常见任务步骤,如发送电子邮件、访问数据库等。大多数初创公司都中道崩殂,但一些基于PHP的创业公司在十年后依然屹立不倒,有些甚至增长飞速、跃居前列。其中有的公司(最著名的当属Facebook)认为PHP是阻碍公司发展的瓶颈,开始从PHP迁移出去。这种小规...

阅读全文>>

0

Zabbix5.2实战系列之如何开启https(LAMP)

虽然大部分使用Zabbix的用户是放在内网,但是该掌握的还是需要的,万一要用到了呢?关于SSL的好处在此篇文章不再赘述了。可以自行度娘了,不过如果ssl证书在服务器解密会损耗机器的资源,当然你的这个前端并不是大众访问,所以基本可以忽略不计了,正常情况是前端挂负载或者nginx做证书解密。正文环境介绍系统版本:CentOS 8.2PHP版本:7.4Mariadb版本:10.3web服务:Apache安装ssl的插件dnf -y install mod_ssl创建密钥存放的目录mkdir -p /kasar/ssl chmod 700 /kasar/ssl创建证书及密钥openssl req -x...

阅读全文>>

0

从php到Golang系统的演变

前言工作这些年,先后经历过两家公司,有参与过php语言框架的开发和主导过go语言技术栈的落地工作,在此过程中有一些感悟和总结。我想以之前我主导的go语言技术栈为线索,来陈述当时遇到的一些问题,以及分析问题和解决问题的思路。主要目的是想陈述go技术体系在团队中落地的过程,分析我们在各个阶段中,遇到的一些问题,并将分析问题的思路和解决问题的方法记录下来,以便让后来的同学了解go语言在团队的演进过程,吸取相关的经验,以便在今后的系统设计和开发上少走弯路。在系统不断演进的过程中,有时候对框架的选型很随意,认为能满足现在功能就行,没有对其功能扩展性和性能进行考量,导致随着业务的发展,发现当时选型有误,但...

阅读全文>>

0

如何开启MacOS11系统的自带的PHP环境

我们都知道MacOS系统内置了Apahce服务,而且还内置php环境,今天在这里教大家如何开启apache服务和php环境!开启apache服务的方法打开终端,在终端里输入"sudo apachectl start",按回车键,输入密码检查apache开启的方法打开Safari浏览器输入"localhost",出现It works!页面就代表它启动好了开启/etc/apache2目录编辑权限打开终端,输入"sudo chmod 777 /etc/apache2/httpd.conf"按回车键,输入管理密码开启PHP服务的方法打开"访达",按"command+shift+g",输入"/etc/a...

阅读全文>>

0

2020终极版PhpStorm:全面支持PHP8,静态分析器

PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。这个主要版本包括对PHP 8,静态分析器PHPStan和Psalm,Xdebug 3,Tailwind CSS,通过Code With Me进行协作开发的全面支持。PhpStorm 2020.3现已上市!下载PHPSTORM 2020.3阅读有关所有新功能和重要更新以及大量GIF的详细信息!PHP 8:支持所有语言功能,甚至开源的Custom Attributes。PHPStan和Psalm可以直接在代码编辑器中或以批处理方式...

阅读全文>>

0

PHP为什么empty可以访问不存在的索引

开始之前, 先抛出问题:$arr = []; echo 'empty: ', PHP_EOL; var_dump(empty($arr['1'])); echo 'is_array: ', PHP_EOL; var_dump(is_array($arr['1']));这段代码的运行结果:你是否和我有过同样的疑问? 同样是函数, 为什么empty访问不存在的索引就不会报错呢? 按理说哈, 函数调用的时候, 会将将参数传值过去吧, 也就是说两个函数的调用第一步, 都是要把$arr['1']这个内容取出来吧, 那又为什么一个能拿出来一个拿不出来呢?不懂就要问, 然后我就这个传参的问题各种搜索, 也没...

阅读全文>>

0

thinkphp5.1 _initialize初始化方法不执行问题

thinkphp5.1的初始化方法名称已修改成了 initialize,前面不带下划线,使用新版这个要注意哦。 thinkphp5.1的初始化方法名改为initialize去掉了之前的下划线,在 使用/重写 的时候应该注意将其声明为protected类型的,若直接声明为public类型,则其功能和普通方法无二,也就是说可以被用户访问到,并且会被执行两次。

阅读全文>>

0

wamp最大连接数问题的简单解决方法

wampserver是一个比较容易上手的php服务器软件,但wamp人多了(在线人数上了500) 就会比较卡,而这时服务器负载还远远没有达到,CPU50% 内存60% 整了好久都没个结果,偶然看到一篇教程,发现原来是连接数限制的问题,修改了之后就速度飞快了。 打开apache2文件夹 下的conf文件夹 修改httpd.conf 随便在任意一行位置插入 ThreadsPerChild 1000 MaxRequestsPerChild 5000 这个数字默认是非常小的 这样修改一下 就行了 如果还不够 再改大就是了 修改后保存后重启web服务即可。 以上就是wam...

阅读全文>>

0

php8正式发布了,

PHP8包含了许多新功能和优化,性能得到了进一步的提升,具体可参考官方原文介绍如下:Named arguments RFCPHP 7htmlspecialchars($string, ENT_COMPAT | ENT_HTML401, 'UTF-8', false);PHP 8htmlspecialchars($string, double_encode: false);Specify only required parameters, skipping optional ones.Arguments are order-independent and self-documented.Attr...

阅读全文>>

0

PHP 8.0将于明天感恩节发布 加入JIT编译器支持 性能提升10%

PHP 8.0 计划于明天美国感恩节发布。PHP 8.0 在加入了 JIT 编译器支持后引入了很多新的语言功能。PHP 8.0 是去年 PHP 7.4 版本之后又一次重大版本更迭,除了 JIT 编译器之外,该重大版本更新中还引入了大量改进。PHP 8.0 值得关注的改进包括● PHP 8.0 引入了备受期待的 Just In Time (JIT) 编译器,能够进一步提高 PHP 脚本的执行速度。通过此 Wiki 页面获得有关 PHP 的 JIT 编译器的更多详细信息。● PHP 8.0 合并了诸多性能优化● JSON 支持现在被视为语言的核心部分,始终可用,而不是作为可选模块。● 支持 nam...

阅读全文>>