php

php-fpm的php参数的配置和启动

星期二, 九月 4th, 2018 | php | 没有评论

0.启动:(基于php5.5.20)

/usr/local/webserver/php/sbin/php-fpm -D

1.配置文件路径
/usr/local/webserver/php/etc
重要的配置文件:
php.ini 及php-fpm.conf

2.说明如下:php.ini

######避免PHP信息暴露在http头中
expose_php = Off
 
######避免暴露php调用mysql的错误信息
display_errors = Off
 
######在关闭display_errors后开启PHP错误日志(路径在php-fpm.conf中配置)
log_errors = On
 
######设置PHP的扩展库路径
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20141001/"
 
######设置PHP的opcache和mysql动态库
zend_extension=opcache.so
extension=mysqli.so
extension=pdo_mysql.so
 
######设置PHP的时区
date.timezone = PRC
 
######开启opcache
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1
 
######设置PHP脚本允许访问的目录(需要根据实际情况配置)
;open_basedir = /data/nginx/html;

3. 配置php-fpm.conf 保持

Tags:

使用Sublime Text3做PHP开发配置

星期四, 二月 9th, 2017 | php | 没有评论

HP开发时,笔者用过EditPlus3、Nodpad++、Vi、Vim和Netbeans,尝试过PhpStorm、PHP IDE、Atom,但即轻巧又强大的,首推Sublime Text了。

Sublime有一些技巧,用熟了是神器,不熟就是砖头

以下我们讲讲在PHP开发中常用的Sublime技巧。

1 下载安装

官网:http://www.sublimetext.com/

下载最新版本,然后按提示安装。

› Continue reading

Tags:

Sublime Text 3的脚本语言开发的常用插件

星期四, 二月 9th, 2017 | php | 没有评论

轻量级的Sublime Text 3的做开发做php,js,html,css等开发的常用插件收集

1.Pack­age Con­trol (https://sublime.wbond.net)

安装Package Control

Package Control是Sublime基础的、必备的包管理,以后所有插件都是通过它来安装的。

打开Sublime,点击菜单 View > Show Console(快捷键 Ctrl+`)打开命令控制台,输入下面的内容:

import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

然后回车,等待一会就可以安装完成了。

更多指导:https://sublime.wbond.net/installation

2.Sub­lime­CodeIn­tel (https://github.com/SublimeCodeIntel/SublimeCodeIntel)

提供代码提示,函数、对象或变量名称等。还可以提示对象或类中哪些方法和变量。基于komodo codeintel开发,虽然有时会有一些问题,但是大多时候是没问题的。
› Continue reading

Tags:

nginx和php隐藏版本号信息

星期四, 十二月 29th, 2016 | php | 没有评论

nginx 隐藏版本号 配置nginx.cnf server_tokens off; 即可

1
2
3
4
http {
    # ...省略一些配置
    server_tokens off;
  }

2.php 的版本信息 会在 HTTP头,以类似X-Powered-By: PHP/7.0.14 这种形式
在php.ini 中关闭 expose_php = Off 即可

1
2
3
4
5
6
7
8
9
10
;;;;;;;;;;;;;;;;;
; Miscellaneous ;
;;;;;;;;;;;;;;;;;
 
; Decides whether PHP may expose the fact that it is installed on the server
; (e.g. by adding its signature to the Web server header).  It is no security
; threat in any way, but it makes it possible to determine whether you use PHP
; on your server or not.
; http://php.net/expose-php
expose_php = On

对应改为记得重启下php 和对应的nginx

Tags: ,

解决ThinkPHP路由404问题的 nginx 配置文件

星期一, 十一月 21st, 2016 | php | 没有评论

完美支持ThinkPHP的四种url模式, 静态文件不会再跑一次fastcgi浪费资源

ThinkPHP的几种url模式,如果nginx 不做任何配置,代理到php都是返回404错误,要解决也很简单

做好nginx的配置 做到动静分离和路由重写即可,配置如下:

其他日志配置等就不再贴出
› Continue reading

Tags: ,

wordpress WP_Image_Editor_Imagick 指令注入漏洞之临时修复

星期四, 五月 19th, 2016 | php, wordpress | 2 Comments

imagick的漏洞最近闹的沸沸扬扬,我自己一直也没有特别关注,主要是我也没有对应的使用此功能做在线web图片的处理.

有用的情况下也是之前的一个内网项目做过图片的快速处理.

耐不住阿里云的安骑士的 友情提醒我的此漏洞,我惶恐的去查了下服务器的配置根本就没有发现 imagick 的扩展.

具体PHP支持开启 imagick 的扩展可以参照这篇文章 Centos 下编译PHP图片扩展库 ImageMagick、MagickWandForPHP、imagick

但是漏洞还是要修复的,要不老是 邮件 短信提醒的多可怕

提示如下:
漏洞名称:wordpress WP_Image_Editor_Imagick
指令注入漏洞补丁编号:4547205
补丁文件:../wp-includes/media.php
补丁来源:云盾自研
更新时间:2016-05-19 11:06:18
漏洞描述:该修复方案为临时修复方案,可能存在兼容性风险,为了防止WP_Image_Editor_Imagick扩展的指令注入风险,将wordpress的默认图片处理库优先顺序改为GD优先,用户可在/wp-includes/media.php的_wp_image_editor_choose()函数中看到被修改的部分

解决方法:
其实提示的临时修复方式也很简单,我自己没有购买付费服务就按照他的提示自己手工修复下,然后验证下,OK 显示已经修复

1
2
3
4
 $implementations = apply_filters( 'wp_image_editors', array( 'WP_Image_Editor_GD', 'WP_Image_Editor_GD' ) );
 
 //注释掉下面一行,换成上面一行即可,其实就是关闭了Imagick的作为备选项的功能了 easy吧
 //$implementations = apply_filters( 'wp_image_editors', array( 'WP_Image_Editor_Imagick', 'WP_Image_Editor_GD' ) );

Tags: , ,

CentOS6.5安装配置postfix邮件系统 启用并配置SMTP虚拟账户

星期三, 三月 9th, 2016 | JAVA-and-J2EE, linux, php | 一条评论

CentOS6.5_64位系统下安装配置postfix邮件系统 启用并配置SMTP虚拟账户 实录
开启用户注册的邮件检验功能,需要发送邮件,使用其他服务商的邮件服务总有每日和发送间隔发送邮件限制.
废话不多说主要实现功能为设置postfix配置,启用smtp服务帐号,只用来发送邮件验证和newsletter邮件

一:配置postfix及简单简介

开始之前,先介绍几个枯燥的名词:

MUA:用户代理端,即用户使用的写信、收信客户端软件。比如:outlook、foxmail等客户端软件,乃至通过浏览器登录邮箱并发送邮件的BS架构网页也算是MUA。
MTA:邮件传送端,即常说的邮件服务器,用于转发、收取用户邮件。本文之中的postfix实现的就是MTA,当然postfix也是一种特殊的MUA,不再深入介绍,本文之中仅把postfix当做MTA使用。
MDA:邮件代理端,相当于MUA和MTA的中间人,可用于过滤垃圾邮件。
POP:邮局协议,当前是第三版,也就是POP3,用于MUA连接服务器收取用户邮件,通信端口110。
IMAP:互联网应用协议,功能与POP类似:也用于MUA连接服务器收取用户邮件;功能较POP多,通信端口143。
SMTP:简单邮件传送协议,MUA连接MTA或MTA连接MTA发送邮件使用此协议,通信端口25,启用ssl/tls的情况下端口为465或587。
一般发邮件的步骤流程是:

1、MUA通过POP、IMAP或SMTP协议连接MTA(称之为mta1);本文之中php通过phpmailer请求发送邮件的php脚本就扮演了MUA的角色,而postfix就是MTA;

2、MUA发送邮件给mta1(或者说MUA通过mta1发送邮件);本文中postfix就是这个mta1;

3、mta1与其他的MTA自主沟通连接将邮件传送至指定域下的指定用户(此时mta1就扮演了MUA的角色功能,这种交互是由邮件系统软件自主实现,与用户端无关)。

本次搭建postfix目的很明确:
› Continue reading

Tags: , ,

windows下配置nginx1.9.x+php7开发环境

星期四, 二月 4th, 2016 | php | 没有评论

还是跑不掉在windows下配置对应的开发环境,准备:

1.下载对应的软件
nginx-1.9.10/Windows-1.9.10

PHP 7.0 (7.0.3)/php-7.0.3-nts-Win32-VC14-x86.zip

2.安装配置nginx和php

分别解压到 D:/web/nginx-1.9.10/ 和D:/web/php7/
修改php.ini-recommended文件为php.ini

打开 一堆扩展尽量打开这里示例2个

1
2
3
 extension_dir = "D:/web/php7/ext"
 extension=php_mysqli.dll
 cgi.fix_pathinfo=1  ##这个启用cgi核心关键

nginx.cnf 打开php支持 同时修改fastcgi_param 参数由/scripts$fastcgi_script_name; 修改为$document_root$fastcgi_script_name;

1
2
3
4
5
6
7
8
9
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
      root           D:/web/www;
      fastcgi_pass   127.0.0.1:9000;
      fastcgi_index  index.php;
      fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
      include        fastcgi_params;
}

3.编辑php的脚本 (phpinfo.php)

<?php
    phpinfo();
?>

4.启动和关闭的脚本文件
启动脚本文件 start_nginx.bat

1
2
3
4
5
6
7
8
9
10
@echo off
echo starting nginx...
D:
cd D:/web/nginx-1.9.10/
start nginx
echo starting PHP FastCGI...
D:
cd D:/web/php7/
php-cgi.exe -b 127.0.0.1:9000 -c D:/web/php7/php.ini
exit

关闭脚本文件 stop_nginx.bat

1
2
3
4
5
6
@echo off
echo Stopping nginx...  
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit

搞定配置

Tags: ,

Mac下配置Apache和修改hosts文件

星期二, 一月 26th, 2016 | mac, php | 没有评论

Mac自带了Apache环境
可以使用指令查看Apache的版本

sudo apachectl -v

设置虚拟主机
1.在终端运行“sudo vi /etc/apache2/httpd.conf”,打开Apche的配置文件

2.在httpd.conf中找到“#Include /private/etc/apache2/extra/httpd-vhosts.conf”,去掉前面的“#”,保存并退出。
› Continue reading

Tags: ,

PHP中获取当前页面的URL的方法

星期五, 五月 1st, 2015 | php | 没有评论

脚本语言就是方便,随便写随便更新
要做以前的域名调整要把参数也调用过来,又设计到指定的不能直接转,有点绕了,废话不说了;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
测试网址:     http://localhost/blog/testurl.php?id=359
//获取域名或主机地址 
echo $_SERVER['HTTP_HOST']."<br>"; #localhost

//获取网页地址 
echo $_SERVER['PHP_SELF']."<br>"; #/blog/testurl.php

//获取网址参数 
echo $_SERVER["QUERY_STRING"]."<br>"; #id=359

//获取用户代理 
echo $_SERVER['HTTP_REFERER']."<br>"; 
 
//获取完整的url
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
#http://localhost/blog/testurl.php?id=359

//包含端口号的完整url
echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
#http://localhost:80/blog/testurl.php?id=359

//只取路径
$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]; 
echo dirname($url);
#http://localhost/blog

Tags:

Search

文章分类

Meta