PHP 编译完成后,可以通过一个简单的函数 phpinfo() 查看关于 PHP 的所有信息。以下介绍的扩展模块一览,皆全部来自于函数 phpinfo() 的输出信息。 SAPI Modules 首先介绍一下什么是 SAPI Modules,SAPI 即 Server API,Server Application Programming Interface,服务器应用程序编程接口。 ---- 1、Apache 2.0 Handler(apache2handler) 用于 Apache 2 的模块,当安装的是
最近业务有所增长,随之而来的是慢请求逐渐多了起来,在搜索php性能优化的过程中发现了opcache,相关的文章很多,但是都比较零碎,所以在此做个总结。公司当前使用的PHP版本为php7.x.x。
这次我们来说如何禁止php代码中执行eval函数,本来以为直接修改php.ini中的disable_function即可~
当解释器完成对脚本代码的分析后,便将它们生成可以直接运行的中间代码,也称为操作码(Operate Code,opcode)。Opcode cache的目地是避免重复编译,减少CPU和内存开销。如果动态内容的性能瓶颈不在于CPU和内存,而在于I/O操作,比如数据库查询带来的磁盘I/O开销,那么opcode cache的性能提升是非常有限的。但是既然opcode cache能带来CPU和内存开销的降低,这总归是好事。
默认下载完vscode什么都不做,会提示一下信息 Cannot validate since no PHP executable is set. Use the setting 'php.validate.executablePath' to configure the PHP executable.
在架设网站的时候,有可能会使用到composer php扩展。这里呆呆简单教大家如何在llinux系统下的宝塔面板中安装composer php扩展。
webman是一款基于workerman开发的高性能HTTP服务框架。webman用于替代传统的php-fpm架构,提供超高性能可扩展的HTTP服务。你可以用webman开发网站,也可以开发HTTP接口或者微服务。
很明显,PHP+Mysql+Apache是很流行的web技术,这个组合功能强大,可扩展性强,还是免费的。然而,PHP的默认设置对已经上线的网站不是那么适合。下面通过修改默认的配置文件加强PHP的安全策略!
php安装时会将扩展包编译进去,对于一个正在运行中的数据库,查看php的扩展开启状况,
现在我们发现全部都是禁用的,这样需要我们手动启动一个,比如现在我们需要使用最新版本PHP7.1的。那么我们就可以执行以下命令:
Flarum 的前身是 esoTalk (opens new window)和 FluxBB (opens new window),她生来就被设计如此:
以上方法是命令执行完才可执行后面程序,如果你的逻辑复杂,会影响用户体验,这时可以提供一个,异步执行的方法,通知服务器执行,不占用主程序进程的方法
当我们使用传统的 mysql_connect 、mysql_query方法来连接查询数据库时,如果过滤不严,就有SQL注入风险,导致网站被攻击,失去控制。虽然可以用mysql_real_escape_string()函数过滤用户提交的值,但是也有缺陷。而使用PHP的PDO扩展的 prepare 方法,就可以避免sql injection 风险。 PDO(PHP Data Object) 是PHP5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,如
1、安装PHP插件:fileinfo、redis、swoole4 2、删除PHP对应版本中的 proc_open禁用函数。
eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎为零。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍。eAccelerator本身的开销也是极少的。
如果a目录被黑,这样会被限制到一定范围的目录中,目录最后一定要加上/,比如/tmp/,而不是/tmp
因为这个原因,许多安全研究人员建议在php.ini配置中禁用指向allow_url_fopen。不幸的是,许多推荐这种方法的人,并没有意识到,这样会破坏很多的应用并且并不能保证100%的解决remote URL includes以及他带来的不安全性。
EasySwoole 是一款基于 Swoole Server 开发的常驻内存型的分布式 PHP 框架,专为 API 而生,摆脱传统 PHP 运行模式在进程唤起和文件加载上带来的性能损失。 EasySwoole 高度封装了 Swoole Server 而依旧维持 Swoole Server 原有特性,支持同时混合监听 HTTP、自定义 TCP、UDP 协议,让开发者以最低的学习成本和精力编写出多进程、可异步、高可用的应用服务。
虽然是老生常谈,还是想在此记录一下。 之前在开发环境的服务器上也遇到过此问题,为何明明在服务器上已经修改了代码,但就是不生效!? 有可能就是因为开启了OPcache,线上环境为了加速PHP性能(线上开启此扩展是很有必要的),开启了此配置,然而在开发环境上代码时常发生修改,需要注意这个配置(开发环境甚至可以关闭),以避免发生上述问题。
这里我选用的是腾讯云美国的服务器,预装的是centos7.9系统,预装宝塔面板,十分方便
最近在迁移WordPress到新服务器时遇到一个问题,就是在编辑文章上传图片时,会报错:此响应不是合法的JSON响应,经过多方验证,最后得出结论,是由于php的一些模块没有开启的原因,下面就详细讲一下,php安装后应该开启哪些模块及开启方法。
勾股CMS,让WEB开发更简单!Gougu 基于ThinkPHP6 + Layui + MySql的轻量级极速后台开发框架,干净不臃肿、操作简单、开箱即用; 通用型的后台权限管理机制,容易功能定制和二次开发,帮助开发者简单高效降低二次开发成本 完全免费开源,系统易于功能扩展,代码维护,非常容易定制和二次开发。
找到禁用函数检查putenv 和proc_open 是否 删除 删除过之后 检查安装扩展 fileinfo 是否安装 nginx环境下 建议修改过重启下 php服务或者 nginx
sudo apt-get install software-properties-common python-software-properties sudo add-apt-repository ppa:ondrej/php && sudo apt-get update sudo apt-get -y install php7.2 # 如果之前有其他版本PHP,在这边禁用掉 sudo a2dismod php5 sudo a2enmod php7.2 # 安装常用扩展 sudo -y apt-
原文出处: 彭长霖 本文所讨论的安全性环境是在Linux+Apache+Mysql+PHP。超出此范围的安全性问题不在本文范畴之内 一、apache server安全性设置 1、以Nobody用户运行 一般情况下,Apache是由Root 来安装和运行的。如果ApacheServer进程具有Root用户特权,那么它将给系统的安全构成很大的威胁,应确保Apache Server进程以最可能低的权限用户来运行。通过修改httpd.conf文件中的下列选项,以Nobody用户运行Apache 达到相对安全的
安装PHP扩展exif、fileinfo 从PHP禁用函数中 删除shell_exec、proc_open、putenv这三个PHP函数
emcached是一个高性能的分布式内存对象缓存系统。通过在内存里维护一个统一的巨大的hash表,来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果。简单的说,就是将磁盘中的数据存储在内存中,然后程序直接从内存中读取数据,减少磁盘的I/O开销,从而提高数据的读取速度。下面来介绍memcached的安装方法。 1、安装memcached服务端 下载memcached服务端,并解压: cd /usr/local/src wget http://www.memcached.org/files/memc
PHP 8.3是2023年PHP的主要新更新。它带来了很好的新特性,比如类型化的类常量,一组新的DateTime扩展,一个新的 json_validate 函数,以及一些新特性,更改和弃用。和往常一样,PHP 8.3带来了一些bug修复和改进以及性能改进。
输出 PHP 当前状态的大量信息,包含了 PHP 编译选项、启用的扩展、PHP 版本、服务器信息和环境变量(如果编译为一个模块的话)、PHP环境变量、操作系统版本信息、path 变量、配置选项的本地值和主值、HTTP 头和PHP授权信息(License)。
介绍一下WordPress网站如何安装Memcached扩展,搞定WP网站加速的问题,编程笔记也看了不少的教程,基本上千篇一律吧,这里介绍的memcached安装教程也记录了品编程笔记安装Memcached扩展过程中遇到的一些问题,最终品自行博客亲测成功。
Php的配置项可以在配置文件中配置,也可以在脚本中使用ini_set()函数临时配置。
PM2管理器->模块管理->yarn 安装(绑定环境变量export PATH=$PATH:/www/server/nvm/versions/node/v14.16.0/bin)
无意中刷到一个文章,关于disablefunction的方法绕过的,依然是脚本小子式的复现环境。
安装宝塔 宝塔环境:Nginx 1.18 + PHP 7.3 + MySQL 5.6 + MongoDB 4.0 安装php扩展,fileinfo,Swoole4,mongodb三个扩展 删除php的所有禁用函数 宝塔放行端口1-65535 添加站点,上传IM文件夹里面的文件到站点根目录下,权限设置成777 修改站点,伪静态设置thinkphp,网站目录选择 /web/public 默认文档把index.html移到最上面 添加数据库,并导入数据3eym.com.sql.gz mongod的数据库需要用ssh命令上传数据 先把mongod.zip上传到服务器的一个文件夹下,上传之后解压文件,删除zip这个文件,然后用ssh执行下面的命令 mongorestore -d im 路径(这个路径就是你解压的那个文件夹)
进入『文件』,点击进入刚创建的网站主目录,点击远程下载,在URL处输入 https://dl.discuz.chat/dzq_latest_install.zip,并点击确定
在我们使用各种主机或者vps时,很多情况下都需要 ftp 进行连接,这是件麻烦事,费时又费力,今天给大家安利一款炒鸡棒的轻量级 PHP 单文件在线文件管理器 Tinyfilemanager
PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli 1.SAPI接口 PHP具体应用的编程接口。 2.开始和结束 PHP开始执行以后会经过两个主要的阶段: 处理请求之前的开始阶段和请求之后的结束阶段。 1.1开始阶段: 1.1.1 模块初始化阶段(MINT),只进行一次。 1.1.2 模块激活阶段(RINIT),PHP会调用所有模块的RINIT函数 1.2结束阶段(脚本执行到末尾或者通过调用exit(
h5ai是用于 HTTP Web 服务器的现代文件索引器,专注于您的文件。目录以吸引人的方式显示,并且通过不同的视图、面包屑和树状概览增强了对它们的浏览。最初h5ai是HTML5 Apache Index的首字母缩写,但现在它也支持其他 Web 服务器。
说明:之前有同学投稿想要个Lablog宝塔教程,拖到现在才想起来,这里就发个搭建教程,Lablog博客基于最新PHP框架Laravel 5.7搭建而成,由OLAINDEX程序作者制作,前后基于adminlte响应式页面布局,适配PC、平板、手机;后台支持QQ、微博、github第三方登录;集成优秀的Markdown文本编辑器,支持图片拖拽上传;后台基于路由搭建完整的权限控制系统,支持多后台用户。且集成SM.MS上传接口,方便用户上传图片,作者也更新很勤快,对该类博客程序有兴趣的可以搭建个玩玩。
1.SAPI接口 PHP具体应用的编程接口。 2.开始和结束 PHP开始执行以后会经过两个主要的阶段: 处理请求之前的开始阶段和请求之后的结束阶段。 1.1开始阶段: 1.1.1 模块初始化阶段(MINT),只进行一次。 1.1.2 模块激活阶段(RINIT),PHP会调用所有模块的RINIT函数 1.2结束阶段(脚本执行到末尾或者通过调用exit()或die()函数,PHP都将进入结束阶段) 1.2.1 停用模块(RSH
PHP项目中,尤其是在高并发大流量的场景中,如何提升PHP的响应时间,是一项十分重要的工作。
PHPInfo()函数信息泄露漏洞常发生在一些默认安装的应用程序,比如phpStudy、XAMPP。默认安装完成后,没有及时删除这些提供环境测试的文件,比较常见的为phpinfo.php、php-info.php、1.php、test.php、info.php等。PHPInfo页面包含了大量的关于PHP的当前状态环境信息、PHP的编译选项和扩展、操作系统版本信息、服务器系统变量信息、Web应用物理路径信息等等,利用这些信息配合其他漏洞可能导致网站被渗透或者系统提权等危害。
视频链接:https://www.bilibili.com/video/BV19f4y1i7Uw
官方演示以及使用说明:https://larecipe.binarytorch.com.my/docs/2.2/overview (翻译翻译还是看得明白的 挺简单的)
c2.删除所有php禁用函数(宝塔的软件商店,点击php设置,禁用函数,点击删除)
今天在弄让Typecho支持emoji,网上看了不少文章,都说要修改数据库,对于新手来说还是有点难度的, 最后找到了一篇是有人做了一个emoji插件,但是还需要修改根目录下config.inc.php, Typecho之所以不支持emoji 是因为数据库编码默认是 utf8,字符的最大长度为3个字节,而 emoji 需要4个字节。 只需改成 utf8mb4 编码即可。注意:MySQL 版本至少需要 5.5.3。可以在宝塔面板里检查一下MySQL 版本
在理解 OPCache 功能之前,我们有必要先理解PHP-FPM + Nginx 的工作机制,以及PHP脚本解释执行的机制。
opcache从字面意思,肯定是缓存这一块的。但是你是否知道它的工作原理是怎样的呢?这里一点一点让你了解! PHP项目中,尤其是在高并发大流量的场景中,如何提升PHP的响应时间,是一项十分重要的工作。而Opcache又是优化PHP性能不可缺失的组件,尤其是应用了PHP框架的项目中,作用更是明显。 1. 概述在理解 OPCache 功能之前,我们有必要先理解PHP-FPM + Nginx 的工作机制,以及PHP脚本解释执行的机制。 1.1 PHP-FPM + Nginx
领取专属 10元无门槛券
手把手带您无忧上云