PHP代码调试与日志 (原创内容,转载请注明来源,谢谢) 一、代码调试 由于PHP很少有类似java、.NET的断点调试工具,因此通常都是要采用输出中间结果的方式进行调试,主要如下: 1、var_dump 对于可以直接打印的(如在controller层、view层),则使用此方法进行打印。对于controller,如果是调用的ajax,要用此方法打印还要配合firebug等浏览器调试工具。 2、error_log 当无法直接在浏览器输出调试结果时(大部分情况,如service、dao等),则采用此方式
操作系统存在最大路径长度的限制。windows系统,文件名最长256个字符,可以输入超过最大路径长度的目录,这样系统就会将后面的路径丢弃,导致扩展名被中途截断
Status Code 499、500、502、504也是后端Http服务经常返回的状态码,试想一下,对于每个状态码,如果你能通过一些修改或配置来人为复现它,是不是会更利于你去掌握它呢?本文就是通过制造它们的方式来学习它们。
今日在使用 Nginx 的时候出现 500 错误,就搜索了一下错误代码,分享给大家。
在平常的工作中,我作为PHP程序员经常要搭建一下环境,这个环境就是Linux系统下安装nginx,php,mysql这三个软件,对软件进行配置,然后在浏览器上能够正常打开运行查看项目。CentOS中安装软件有好几种方式,我经常用的是包安装方式,因为这种非常简单一句命令就能安装成功,这也是与windows下安装软件最大的不同点。包安装方式就一个关键单词就是yum。
# 软件链接:https://bestwebsoft.com/products/wordpress/plugins/error-log-viewer/
距离上次被DDOS攻击已经有10天左右的时间,距离上上次已经记不起具体那一天了,每一次都这么不了了之。然而近期一次相对持久的攻击,我觉得有必要静下心来,分享一下被黑的那段经历。
限定某个目录禁止解析php: 对于使用php语言编写的网站,有一些目录是有需求上传文件的。如果网站代码有漏洞,让黑客上传了一个用PHP写的木马,由于网站可以执行PHP程序,最终会让黑客拿到服务器权限。
昨天在更新完文章《升级博客文章同步微博的插件:PHP正则提取Markdown的图片地址》后,博客突然无法访问了。
打开 Default Value 可以和 代码中设置 ini_set('display_errors','On');起到同样的效果
无论是apache还是nginx,php.ini都是适合的。而php-fpm.conf适合nginx+fcgi的配置
现象:销售反馈用户自己开通的账户,只收到了提示邮件,账户没有实际生成 前因: 1. 用户开通账户调用接口后,在该接口中再次调用销售系统接口实际开通账户 2. 有同事开发另一功能时提交过销售系统的代码
使用nginx接受请求并对其进行转发。并使用了ngx_http_realip_module模块转发真实请求IP。
限定某个目录禁止解析php 虚拟主机配置文件添加的核心配置内容: <Directory /data/wwwroot/111.com/upload> php_admin_flag engine off //在upload目录下禁止解析php <FilesMatch *\.php(.*)> //这行以及以下两行的意思就是 //让php的文件访问受到限制,防止php文件的源代码被查看 Order allow,deny Deny
php-fpm定义open_basedir目录概要 vim /usr/local/php-fpm/etc/php-fpm.d/test.conf//加入如下内容 php_admin_value[open_basedir]=/data/wwwroot/aming.com:/tmp/ 创建测试php脚本,进行测试 再次更改aming.conf,修改路径,再次测试 配置错误日志 再次测试 查看错误日志 php-fpm定义open_basedir open_basedir 的作用是限制php在指定的目录里活动。 因
本文记录 Linux CentOS7 环境安装 Nginx 的基本步骤,最后输出 Linux 上安装服务的通用法则。读完本文你将收获
作为一名程序员,比码代码还重要那么一点点的东西就是日志的分析和查询。下面列出常见日志及设置方法。
异常处理(又称为错误处理)功能提供了处理程序运行时出现的错误或异常情况的方法。
随着使用 PHP 环境的用户越来越多,相关的安全问题也变得越来越重要。PHP 环境提供的安全模式是一个非常重要的内嵌安全机制,PHP 安全模式能有效控制一些 PHP 环境中的函数(例如system()函数),对大部分的文件操作函数进行权限控制,同时不允许对某些关键文件进行修改(例如 /etc/passwd)。但是,默认的 php.ini 配置文件并没有启用安全模式。
魏艾斯博客一直在介绍宝塔 Linux 面板,对于众多新手来说可视化 Linux 面板真的是福音,而对于进阶的老手来说有时候也需要命令行来辅助操作。今天转载一下官方的宝塔 Linux 面板命令大全,给有需要的朋友也给自己留一个可以快速查找的记录。 安装宝塔 Centos 安装脚本 yum install -y wget && wget -O install.sh https://download.bt.cn/install/install.sh && sh install.sh Ubuntu/Deepin 安
宝塔 Linux 面板常用命令大全,包括安装、管理,修改端口,修改密码,删除域名绑定面板等。这是宝塔官方整理的,搬过来以备后用。
如果我们的网站有一个目录,可以上传图片,可能保不准有些别有用心的人会通过一些手段,上传php文件到这个目录下。那么这个php文件就会被apache执行,如果这个php文件里写的是恶意代码,你的服务器自然就会遭到***。毕竟开放了这样一个权限,肯定会被人上传***文件,如果被夺取了你的服务器root权限就很危险了。
nginx error_log设置 1.error_log syslog:server=192.168.1.1 [级别] //直接发送给远程syslog日志集中服务器 2.error_log stderr ;//直接发送给stderr;发送给stderr的信息可以使用syslog记录的日志查看,一般的配置是/etc/rsyslog.d/50-default.conf,记录下的日志有的是在/var/log/messages,我的是在/var/log/syslog;如果没有记录下来就重启service syslog restart 3.第二个参数是错误级别:debug,info,notice,warn,error,crit,alert或emerg。上面的日志级别按严重性增加的顺序列出,指定了级别高的,低级别就不会记录 4.有人说如果php-fpm没有开启error_log,nginx就不能记录下php的错误,我把所有php-fpm的error_log都注释了,nginx的错误日志了也是有php的错误信息的 , 下一篇再详细写php-fpm下的错误日志
php-fpm的pool: php-fpm的pool是这个php-fpm服务的池子,php-fpm支持定义多个池子,能够监听多个不同的sock或者监听不同的ip。如果Nginx上跑了几个站点,每个站点
之前有很多朋友问关于Nginx的upstream模块中max_fails及fail_timeout,这两个指令,分别是配置关于负载均衡过程中,对于上游(后端)服务器的失败尝试次数和不可用时间,很多人不是很理解这两个参数到底怎么用,以及具体的含义
vim /usr/local/nginx/conf/vhost/test.com.conf
最近一同事反馈在后台保存某业务数据时一直报403,该数据由运营人员在后台录入,然后向后端发送POST请求保存数据;现象是如果内容过长如几十K则报403,如果只输入几个字符则没问题,多方排查无解。
在公司里面有分配的测试机,所有的开发代码都运行在测试机里面.因为公司的测试机机房退租,所以要在新申请的几台测试机上搭建开发环境.开发环境尽量做到和线上的环境一致,包括代码的目录路径,运行程序的进程用户,日志的目录等等.我的测试机的linux版本还是centos6.5,搭建lnmp环境主要是下面这些命令.
这些日志可以帮助我们定位 mysqld 内部发生的事件,数据库性能故障,记录数据的变更历史,用户恢复数据库等。本文主要讲解错误日志文件(Error Log)相关内容。
系统触发: E_NOTICE:提示性错误,比如使用不存在的变量或常量 E_WARNING:警告性错误,比如include载入一个不存在的文件 E_ERROR:致命错误,导致程序无法执行后续语句,比如调用一个不存在的函数
程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,而无需再次编写,这种文件调用的过程一般被称为文件包含。
MySQL提供了多种日志功能,用于记录数据库运行时的各种信息,如错误日志、一般查询日志和慢查询日志等。这些日志可以帮助数据库管理员监控数据库的运行状态、诊断问题和优化性能。下面将详细说明这三种日志的查看方法,并提供具体的示例。
在前几章中,我们知道了攻击者可以使用cookie来冒充当前用户的身份,在上一章节我们也简单地引入了XSS的基本概念。如果目标站点存在XSS漏洞并且Cookie并没有开启http-only的话,那么它们二者将是Web安全的巨大隐患。
PHP开发过程中经常会遇到返回500错误的情况,而且body体中也没有任何调试(可用)内容。这个时候你就需要慢慢调试了(打断点,开调试模式等),但如果是现网,这个错误就比较让人抓狂了,既不好打断点也不能开调试模式。但既然是错误,总是会有处理方法,下面就一步步分析500的成因及处理方案。
目的 防范因为主机没有加固,造成储存在开发服务器中的源代码和测试数据被黑客获取。 范围 本规范适合于开发服务器安全加固配置。 MYSQL 1. 下载位置 MySQL程序的下载,应该从MySQL官方提供的下载页面或者安全平台部第三方软件统一下载前台(建设中)下载。MySQL官网地址为: http://www.mysql.com/downloads/mysql/ MariaDB则在 https://downloads.mariadb.org/ 1.1 下载后的校验 下载的同时,需记录下官方提供的文件hash(推
宝塔面板是一款使用方便、功能强大且终身免费的服务器管理软件,支持Linux与Windows系统。一键配置:LAMP/LNMP、网站、数据库、FTP、SSL,通过Web端轻松管理服务器。
Nginx作为一个流行、轻量、高性能、稳定的web服务器,是应用运维日常最常接触的web服务器,更多的时候它是用于web代理服务,今天要说的是日常维护Nginx中最常遇到的两个HTTP状态码502和504
宝塔面板,一款使用方便、功能强大且终身免费的服务器管理软件,支持Linux与Windows系统。一键配置:LAMP/LNMP、网站、数据库、FTP、SSL,通过Web端轻松管理服务器。
项目部署到Linux 服务器上后有时会出现 每日日志无法写入的问题。由此汇总一下常出现的问题及解决方式。
Nginx站点的搭建其难点在于安装Nginx,不同于Apache可以直接使用yum或者apt-get的方式安装,Nginx不在系统标准源中,因此常见的安装方式主要有两个:编译安装和第三方yum源安装。由于编译安装Nginx需要安装的拓展比较多,此次我们使用第三方yum源方式安装Nginx,同时以此为基础,搭建Linux+Nginx+Mysql+Php的站点,分为以下几步:
今天闲来无事,想着重新搭建DVWA靶场耍耍,遂在宝塔面板上尝试搭建DVWA靶场,搭建过程中,发现访问php页面访问报错502状态码,于是就把排查解决过程中记录了下来,供大家参考。
对于 Nginx 的学习来说,其实最基础的就是学习配置文件中的各种不同配置项。如果想要深入的理解 Nginx ,那就要去研究它的源码,但是就像之前说过的,C 的水平以及整体的计算机基础知识的水平还不足以支撑我达到可以分析 Nginx 源码的程度。
thr0cyte,Gr33k,花花,MrTools,R1ght0us,7089bAt,
11.28 限定某个目录禁止解析php 访问控制 – 禁止php解析目录概要 核心配置文件内容 <Directory /data/wwwroot/www.123.com/upload> php_admin_flag engine off </Directory> curl测试时直接返回了php源代码,并未解析 案例 假设有一个目录是可以上传图片,但是可能被有心之人上传php上去,因为httpd开放了php模块,所以如果被人上传了木马文件(php类型),httpd就有可能会进行执行,
防盗链,通俗讲就是不让别人盗用你网站上的资源,这个资源指的是图片、视频、歌曲、文档等,在这之前需要理解一下referer的概念,如果你通过A网站的一个页面http://a.com/a.html里面的链接去访问B网站的一个页面http://b.com/b.html,那么这个B网站页面的referer就是http://a.com/a.html。也就是说,一个referer就是一个网址。
1.1.1 通过yum安装Nginx和php,更改了Nginx里面fastcgi_pass后的地址php不能正常请求 1.1.1.1 问题还原: Nginx+php的服务器地址是10.0.0.41/24 Nginx 安装的是1.14 php安装的是7.1,yum安装过程不细讲
Webshell是黑客经常使用的一种恶意脚本,其目的是获得对服务器的执行操作权限,比如执行系统命令、窃取用户数据、删除web页面、修改主页等,其危害不言而喻。黑客通常利用常见的漏洞,如SQL注入、远程文件包含(RFI)、FTP,甚至使用跨站点脚本攻击(XSS)等方式作为社会工程攻击的一部分,最终达到控制网站服务器的目的。
yum list installed | grep php –查看已安装的PHP版本
小明初到一家公司做运维的工作,刚来的第一天就开始部署LNMP(Linux+Nginx+MySQL+PHP)环境,结果出现了问题。 他来向我请教。
领取专属 10元无门槛券
手把手带您无忧上云