一 ,基本小语法 1. PHP 脚本可以放在文档中的任何位置 2.PHP 脚本格式: <?php // PHP 代码 ?> 3.PHP 文件的默认文件扩展名是 “.php”。 4.PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码(顺便把前端也就学了~__~) 5.PHP 中的每个代码行都必须以分号结束。 6.注释和C 语言的注释相同(// 和/* */ ) 7.变量需要用‘ $ ‘ 符号注明 二,输入与输出 1. echo 函数 1.可以不用加括号,也可以加上括号。即:echo或者是echo() 2.可以输出一个或多个字符串(字符串可以包含 HTML 标签) 3. echo 输出的速度比 print 快, echo 没有返回值,print有返回值总是1 <?php echo "<h2>Hello </h2>"; echo "world!<br>"; echo "PHP!<br>"; echo "这是一个" 继续阅读 >>


刘生玺 17/09/25 22:19:49
写在前面:最级要开始写我们的项目了,是一个网络编程的项目,语言用C++,基于Socket通信,采用JSON数据交换格式,存数据用Mysql数据库。我们开始的困难是不知道如何处理客户端,组内都没有学写APP,如果是在终端下跑那就有太多限制了,感觉反而是加大了难度。 纠结了一会,突然想到能不能用PHP来写客户端,我学过一段时间PHP,目前还不太了解高阶的用法,前不久写了一个简单的订餐系统,用到一些特性,记得看到过PHP也可以进行Socket编程。在网上搜了一下,然后我写了一个简单的测试样例,客户端是用PHP,服务端用C++,互发送一条消息之后成功接收。 PHP的语言特性决定了它不适合做socket服务器端,socket主要面向底层和网络服务开发,一般用C或Java实现,能更好的处理并发、阻塞等。和C++或C写TCP客户端是一样的,工作过程可用下面的图表示: PHP中和Socket相关函数 socket_accept() 接受一个Socket连接 socket_bind() 把socket绑定在一个IP地址和端口上 sock 继续阅读 >>


杜肖孟 17/07/19 15:14:50
首先说一下这篇文章的需求,当我们在一些没有提供验证接口的系统中,需要验证用户身份的时候,就可能需要用户登录当前系统,从而确定该用户是当前系统的合法用户,校园的教务系统就是一个典型的例子,我们通过学生自己登录学校的教务系统从而确定该用户为在校生。 但是,现如今各式各样的系统为了安全起见,通常都会设置验证码防止恶意攻击,这里就以本校的为例简单介绍一下如何使用PHP-curl请求登录验证码并模拟登录教务系统。 首先上图: 如上图,正常的登录界面,包括用户名,密码以及验证码的表单,模拟提交表单不难,主要是这里的验证码,因为我们是自己重新写了一个模拟登录页面,则需要将教务系统的验证码提取到我们自己的页面中来。 首先我们分析一下请求的过程: 首先是直接请求教务系统网址,如果是第一次请求,则在响应中则会设置cookie,如果不是第一次请求,则在这次请求中就会携带上cookie,我们模拟一下包含cookie的和没有包含cookie的请求如下: 非第一次请求(请求中带有cookie)的请求和响应头部信息如下: 第一次请求(请求中带有cookie)的请求和响 继续阅读 >>


朱新全 17/05/16 23:38:33
我们执行下面命令看一下其当前运行状态: ps -aux | grep php-fpm 其运行用户为 www 我们通过修改php-fpm.conf来修改其运行身份 1、我们首先找到php-fpm.conf sudo find / -name php-fpm.conf 2、打开该文件 vim pathtophp-fpm.conf 3、修改其中的user和group为root 4、重新启动php-fpm killall php-fpm php-fpm -R 可以看到php-fpm的运行用户就为root了,至此修改成功~ 作者:chudongfang2015 发表于2017/5/9 13:56:18 原文链接 阅读:9 评论:0 查看评论 继续阅读 >>


楚东方 17/05/09 13:56:18
转自:http://www.ilanni.com/?p=7438 前几天学习了,在nginx下搭建wordpress博客。在《烂泥:使用nginx利用虚拟主机搭建WordPress博客》文章中,我们特别提到了有关程序运行在哪个用户下面。 这篇文章我们就特别来讲解下,nginx、php-fpm以及mysql运行在各个用户下的配置。 先来做个说明:nginx本身不能处理PHP,它只是个web服务器。当接收到客户端请求后,如果是php请求,则转发给php解释器处理,并把结果返回给客户端。如果是静态页面的话,nginx自身处理,然后把结果返回给客户端。 Nginx下php解释器使用最多的就是fastcgi。一般情况nginx把php请求转发给fastcgi管理进程处理,fastcgi管理进程选择cgi子进程进行处理,然后把处理结果返回给nginx。 在这个过程中就牵涉到两个用户,一个是nginx运行的用户,一个是php-fpm运行的用户。如果访问的是一个静态文件的话,则只需要nginx运行的用户对文件具有读权限或者读写权限。 而如果访问的是一个php文件的话,则 继续阅读 >>


楚东方 17/05/09 13:39:17
在命令后面加上 2>&1 例如; system("ls -al 2>&1 "); 其显示信息会在浏览器中输出。 官网: This is for WINDOWS users. I am running apache and I have been trying for hours now to capture the output of a command. I’d tried everything that is written here and then continued searching online with no luck at all. The output of the command was never captured. All I got was an empty array. Finally, I found a comment in a blog by a certain amazing guy that solved my problems. Adding the stri 继续阅读 >>


楚东方 17/05/08 12:28:13
操作方法: http://jetbrains.tech 作者:chudongfang2015 发表于2017/4/25 10:37:07 原文链接 阅读:5 评论:0 查看评论 继续阅读 >>


楚东方 17/04/25 10:37:07
问题背景 最近要完成的最后一个部分,就是对用户提交的数据进行管理,至于管理,那肯定就是管理员的事了,那一定涉及登陆,验证账号权限,账号是否过期等等问题。 所需知识 session,确实是很重要的东西。并且我遇到session不能跨页,修改php.ini的session.use_trans_sid = 0值为1。 具体实现 我的后台设计的比较简单,只需输入一个密码即可,这个密码当然是保存在服务器可以更改的啦。所以只需要给session添加两个变量,flag、time。 首先,用flag来确定管理员是否成功登陆,用time确定登陆是否超时。提交密码后,如果正确会给flag赋值为1,time赋值为当前时间。每次进入新的页面或进行操作时会对这两个变量进行判断,首先判断flag值是否为1,不唯一直接提示未登陆,销毁session,如果为1,再判断当前时间-$_SESSION(‘time’)是否小于600(10分钟),若大于,提示登陆超时,销毁session;若小于,允许操作,并更新time变量值为当前值。 部分代码 check_pw.php < 继续阅读 >>


李余通 17/02/22 17:32:27
如何实现? 开始我的想法是有一个验证码库,每个图片有一个名字,在数据库中保存对应的图片名和其中对应的字符。便打算去下载一些图片。打开浏览器才发现这种方法实为下成,并非一个好的解决方案。然后便找到很多处理图片的php函数,用它们来生成图片。 如何匹配? 服务器生成图片的时候,定然知道图片的内容,即验证码,这是最终要和用户提交的验证码进行匹配的。那么如何来在服务器端保存这个验证码呢?php提供了一个很好的解决办法,session。关于何为session,请点这里。 具体代码 分为三个,一个html的包含验证码的表单提交、一个php的生成验证码文件、一个php的检查验证码正确与否。 captcha.php <?php //设置session session_start(); $image = imagecreatetruecolor(100,30); //设置验证码颜色 $bgcolor = imagecolorallocate($image,255,255,255); //#ffffff //区域填充 int imagefill(in 继续阅读 >>


李余通 17/02/22 17:08:04
今天在测试mysqli模块时候,发现了问题: 终端运行php mysql.php时侯,能执行结果,然而放到apache上: Warning: mysqli::__construct(): (HY000/2002): Permission denied in /var/www/html/my.php on line 5 Permission denied …………..蒙蔽 百度几乎所有的解决思路都是将”localhost”换成”127.0.0.1”… WTF?我本身就用的”127.0.0.1”,那我换”localhost”试试吧… :no such file or directory……… 直接是终端都不能解析了… 咳咳,不废话了,解决方法 sudo setsebool -P httpd_can_network_connect 1 这是在某个国外网站看到了说SELinux的问题,然后自己尝试了好多,发现只有这个值有用。 作者:baidu_35085676 发表于2017/2/5 继续阅读 >>


李余通 17/02/05 16:23:27