本文最初发布于 stitcher 博客, 经原作者授权由 InfoQ 中文站翻译并分享。
include,require,include_once,require_once四种都是包含文件请求
语法错误最常见,并且也容易修复。如:代码中遗漏一个分号。这类错误会阻止脚本的执行。
限定某个目录禁止解析php 虚拟主机配置文件添加的核心配置内容: <Directory /data/wwwroot/111.com/upload> php_admin_flag engine off //在upload目录下禁止解析php <FilesMatch *\.php(.*)> //这行以及以下两行的意思就是 //让php的文件访问受到限制,防止php文件的源代码被查看 Order allow,deny Deny
PHP7现在有两个异常类,Exception and Error。这两个类都实现了一个新的接口:Throwable。在您的异常处理代码中,类型暗示可能需要调整下。
Php的配置项可以在配置文件中配置,也可以在脚本中使用ini_set()函数临时配置。
ownCloud是一个自由且开源的个人云存储解决方案,包括两个部分:服务器和客户端。ownCloud 最早由KDE开发者Frank Karlitschek于2010年一月创建,目标是成为商业云服务提供商的替代。与商业云存储服务不同,ownCloud可以自由获取无需付费,但相应地,用户必须自行架设 ownCloud的服务器,这需要一点技术。在本教程中,我们将教你在Ubuntu 18.04服务器上安装和配置ownCloud服务器。
wget http://www.libssh2.org/download/libssh2-1.4.2.tar.gz$ wget http://pecl.php.net/get/ssh2-0.12.tgz 2.安装libssh2
ownCloud是一个开源文件共享服务器和协作平台,可以将您的个人内容(如文档和图片)存储在一个集中的位置。这使您可以通过不依赖Dropbox等第三方内容托管服务来控制您的内容和安全性。
其实 PHP8 的这个第一版测试版 (php-8.0.0alpha1) 在2020年6月底就已经上线了,不过也是近两天去官网的时候才看到。这个版本是第一个公开的测试版,也就是说,它是不能用于生产环境的,毕竟改动很多还不会特别的稳定。而今天,我们主要就是来看看 PHP8 带来的那些改变。
异常处理(又称为错误处理)功能提供了处理程序运行时出现的错误或异常情况的方法。
🛤️目标网址:https://www.ypppt.com/moban/ 🛤️浏览器信息:
XSS又称CSS,全称Cross SiteScript(跨站脚本攻击), XSS攻击类似于SQL注入攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性。其原理是攻击者向有XSS漏洞的网站中输入(传入)恶意的HTML代码,当用户浏览该网站时,这段HTML代码会自动执行,从而达到攻击的目的。如,盗取用户Cookie信息、破坏页面结构、重定向到其它网站等。
在PHP中,有两种包含外部文件的方式,分别是include和require。他们之间有什么不同呢?
由于本人主力 Linux 换为了 WSL 中的 Ubuntu 22.04,因此本次 LFI-Labs 靶场将直接部署于该环境下,为避免众多环境问题让时间成本剧增,将使用 Docker 直接部署原作者封装好的版本。话虽这么说,貌似 Docker + WSL 本身就是庞大的时间成本。正文中一些容器内无法实现的操作将转为使用 Windows 本地部署的备用环境,直接 phpstudy 倒是相当方便。
stylelin本体:https://www.npmjs.com/package/stylelint
利用PHP的MD5函数可以最简单生成md5加密 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <titl
wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2
入职两天了,继续研究Swoole的框架,新公司有内部wiki,对于一些代码规范还是很重视的
[PHP] ; PHP还是一个不断发展的工具,其功能还在不断地删减 ; 而php.ini的设置更改可以反映出相当的变化, ; 在使用新的PHP版本前,研究一下php.ini会有好处的 ;;;;;;;;;;;;;;;;;;; ; 关于这个文件 ; ;;;;;;;;;;;;;;;;;;; ; 这个文件控制了PHP许多方面的观点。为了让PHP读取这个文件,它必须被命名为 ; 'php.ini'。PHP 将在这些地方依次查找该文件:当前工作目录;环境变量PHPRC ; 指明的路径;编译时指定的路径。 ; 在windows下,编译时的路径是Windows安装目录。 ; 在命令行模式下,php.ini的查找路径可以用 -c 参数替代。 ; 该文件的语法非常简单。空白字符和用分号';'开始的行被简单地忽略(就象你可能 ; 猜到的一样)。 章节标题(例如 : [Foo])也被简单地忽略,即使将来它们可能 ; 有某种的意义。 ; ; 指示被指定使用如下语法: ; 指示标识符 = 值 ; directive = value ; 指示标识符 是 *大小写敏感的* - foo=bar 不同于 FOO = bar。 ; ; 值可以是一个字符串,一个数字,一个 PHP 常量 (如: E_ALL or M_PI), INI 常量中的 ; 一个 (On, Off, True, False, Yes, No and None) ,或是一个表达式 ; (如: E_ALL & ~E_NOTICE), 或是用引号括起来的字符串(" foo" ). ; ; INI 文件的表达式被限制于位运算符和括号。 ; | bitwise OR ; & bitwise AND ; ~ bitwise NOT ; ! boolean NOT ; ; 布尔标志可用 1, On, True or Yes 这些值置于开的状态。 ; 它们可用 0, Off, False or No 这些值置于关的状态。 ; ; 一个空字符串可以用在等号后不写任何东西表示,或者用 None 关键字: ; ; foo = ; 将foo置为空字符串 ; foo = none ; 将foo置为空字符串 ; foo = " none" ; 将foo置为字符串'none' ; ; 如果你值设置中使用常量,而这些常量属于动态调入的扩展库(不是 PHP 的扩展,就是 ; Zend 的扩展),你仅可以调入这些扩展的行*之后*使用这些常量。 ; ; 所有在 php.ini-dist 文件里设定的值与内建的默认值相同(这是说,如果 php.ini ; 没被使用或者你删掉了这些行,默认值与之相同)。 ;;;;;;;;;;;;;;;;;;;; ; 语言选项 ; ;;;;;;;;;;;;;;;;;;;; engine = On ; 使 PHP scripting language engine(PHP 脚本语言引擎)在 Apache下有效。 short_open_tag = On ; 允许 tags 将被识别。 asp_tags = Off ; 允许ASP-style tags precision = 14 ; 浮点类型数显示时的有效位数 y2k_compliance = Off ; 是否打开 2000年适应 (可能在非Y2K适应的浏览器中导致问题) output_buffering = Off ; 输出缓存允许你甚至在输出正文内容之后发送 header(标头,包括cookies)行 ; 其代价是输出层减慢一点点速度。你可以使用输出缓存在运行时打开输出缓存, ; 或者在这里将指示设为 On 而使得所有文件的输出缓存打开。 output_handler = ; 你可以重定向你的脚本的所有输出到一个函数, ; 那样做可能对处理或以日志记录它有用。 ; 例如若你将这个output_handler 设为" ob_gzhandler" , ; 则输出会被透明地为支持gzip或deflate编码的浏览器压缩。 ; 设一个输出处理器自动地打开输出缓冲。 implicit_flush = Off ; 强制flush(刷新)让PHP 告诉输出层在每个输出块之后自动刷新自身数据。 ; 这等效于在每个 print() 或 echo() 调用和每个 HTML 块后调用flush()函数。 ; 打开这项设置会导致严重的运行时冲突,建议仅在debug过程中打开。 allow_call_time_pass_reference = On ; 是否让强迫函数调用时按引用传递参数。这一方法遭到抗议, ; 并可能在将来版本的PHP/Zend里不再支持。 ; 受到鼓励的指定哪些参数按引用传递的方法是在函数声明里。 ; 你被鼓励尝试关闭这一选项并确认你的脚本仍能正常工作,以保证在将来版本的语言里 ; 它们仍能工作。(你将在每次使用
[PHP] ; PHP还是一个不断发展的工具,其功能还在不断地删减 ; 而php.ini的设置更改可以反映出相当的变化, ; 在使用新的PHP版本前,研究一下php.ini会有好处的
Icinga是一个灵活而强大的开源监控系统,用于监控网络主机和服务的运行状况。它可用于监视Web worker集群的负载和正常运行时间,存储设备上的可用磁盘空间,缓存服务上的内存消耗等。正确设置后,Icinga可以让您快速了解大量主机和服务的状态,以及通知,停机时间安排和性能数据的长期存储。
这个文件控制了PHP许多方面的观点。为了让PHP读取这个文件,它必须被命名为 'php.ini'。PHP 将在这些地方依次查找该文件:当前工作目录;环境变量PHPRC
即使使用默认设置,Nginx也是一个非常安全可靠的Web服务器。但是,有很多方法可以进一步保护Nginx。
在有的服务器上,PHP代码执行出错时,浏览器只会显示500错误,这样不利于程序员定位错误代码。
今天使用Centos 6.2搭建LAMP环境,使用最小化安装,然后自己找到rpm安装了php、mysql、apache,配置了PHPmyadmin,打算进数据库看看,结果。。 页面提示:缺少mysqli扩展,安装了扩展又提示mbstring缺少。。。(我勒个去,rpm安装真不舒服) 我于是就挨个搜集了rpm(先给大家说下,我搜集了很长时间的,也试过从其他机器上直接拷贝各种扩展结果不能使用) 由于我的php版本是5.3.3【点击下载PHP5.3.3rpm】 我就把所需的rpm全都下载下来了,大家不用再去找来找
axios.defaults.baseURL=”localhost:9011″ //全局变量根路径
定义和用法: error_reporting() 设置 PHP 的报错级别并返回当前级别。 函数语法: error_reporting(report_level) 如果参数 level 未指定,当前报错级别将被返回。下面几项是 level 可能的值: 值 常量 描述 1 E_ERROR 致命的运行错误。错误无法恢复,暂停执行脚本。 2 E_WARNING 运行时警告(非致命性错误)。非致命的运行错误,脚本执行不会停止。 4 E_PARSE 编译时解析错误。解析错误只由分析器产生。 8 E_
error_reporting(report_level) 如果参数 level 未指定,当前报错级别将被返回。下面几项是 level 可能的值:
当我们使用宝塔面板部署好后,可以直接使用,如果你还没有部署Nextcloud,可以参考:
错误是程序中的故障或错误。它可以有多种类型。由于错误的语法或错误的逻辑,可能会发生错误。这是一种错误或对代码的了解不正确的情况。
PHP中的异常的独特性,即PHP中的异常不同于主流语言C++、java中的异常。在Java中,异常是唯一的错误报告方式,而在PHP中却不是这样,而是把所有不正常的情况都视作了错误进行处理。这两种语言对异常和错误的界定存在分歧。什么是异常什么是错误,两种语言的设计者存在不同的观点。
Xdebug是PHP的扩展,用于协助调试和开发。 – 它包含一个用于IDE的调试器 – 它升级了PHP的var_dump()函数 – 它为通知,警告,错误和异常添加了堆栈跟踪 – 它具有记录每个函数调用和磁盘变量赋值的功能 – 它包含一个分析器 – 它提供了与PHPUnit一起使用的代码覆盖功能。
web使用的是nginx+php的架构,网站上线还没多久,所以优化方面基本只是做了些初始的配置。 查看php-fpm.log发现有警告,这些警告和网站的挂了个时间基本吻合。我就从这里开始入手。 先开始也是找了些文档,但是第二天还是出现问题。后来查看配置文件并翻译了下(百度),英文底子不好。pm模块类似apache的模块,是分静态和动态的。 网上说的很多调整都是基于动态居多,但是并没说么定义这个模块。所以大家用动态和静态还是要仔细看看配置文件
说白了就是PHP页面报错的级别设置,14个等级供你自定义报错的方式,有数字和字符串两种参数的写法,中文说明对应如下:
100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
设定值 liveServer.settings.port:自定义Live Server的端口号。如果需要随机端口号,请将其设置为0。 默认值为5500。 liveServer.settings.ro
Python 通过调用 warnings 模块中定义的 warn() 函数来发出警告。警告消息通常用于提示用户一些错误或者过时的用法,当这些情况发生时我们不希望抛出异常或者直接退出程序。警告消息通常写入 sys.stderr,对警告的处理方式可以灵活的更改,例如忽略或者转变为为异常。警告的处理可以根据警告类别,警告消息的文本和发出警告消息的源位置而变化。对相同源位置的特定警告的重复通常被抑制。
在项目的主目录中打开.gitignore文件,若没有则进行创建,windows下无法创建.开头文件,自行解决
从概念上讲,警告过滤器维护着一个经过排序的过滤器类别列表;任何具体的警告都会依次与列表中的每种过滤器进行匹配,直到找到一个匹配项;过滤器决定了匹配项的处理方式。每个列表项均为 ( action , message , category , module , lineno ) 格式的元组,其中:
在制作免杀的过程中,翻找 Windows 官方对 Windows Defender 的介绍,发现有这样一个目录:Configure Microsoft Defender Antivirus exclusions on Windows Server(在 Windows server 中配置defender排除项)。
PHP的错误机制也是非常复杂的,做了几年php,也没有仔细总结过,现在就补上这一课。
第一种方法:在php.ini文件里改变display_errors和error_reporting的值,没有的直接加上
Error 层次结构 - Throwable (php7) - Error - ArithmeticError - DivisionByZeroError - AssertionError - CompileError - ParseError - TypeError - ArgumentCountError - Exception ... 什么是php错误? 属于php脚本自身的问题,大部分情况是由错误的语法,
本文实例讲述了YII2框架中日志的配置与使用方法。分享给大家供大家参考,具体如下:
你可以通过 log_message() 方法将信息记录在本地日志文件中,并且必须在第一个参数中指定错误的”级别”,来表明这个信息的类型(debug,error等)。 第二个参数就是信息本身:
Roundcube是一个基于网络的IMAP电子邮件客户端,提供类似于谷歌Gmail的用户界面。它是用PHP编写的服务器端应用程序,旨在访问电子邮件服务器或服务。电子邮件用户使用Web浏览器与Roundcube进行交互。
有时候,我们需要团队合作一同处理文件;虽然有腾讯文档之类的在线写作平台,但是如果我们想协同处理视频该怎么办?又或者,我们只想建立一个家庭私有云,存一些生活点滴照片,且不希望被限速?也许,你可以试试自己搭建Nextcloud网盘,尤其是自己有台服务器,想充分利用的情况下。
领取专属 10元无门槛券
手把手带您无忧上云