php 怎么当前日期,在Linux下以什么方式或工具进行PHP开发好?
回答区的大神们推荐的IDE都是我想要的,优秀而且效率。[赞]
IDE是写代码的,我想说一下Linux下进行PHP开发,所需要搭建的环境。
Windows下有哪些工具?混沌初开,工具链还没有那么完整,我们手动配置环境。
PHP: 修改
php.ini
,添加扩展文件,使用phpinfo()查看是否生效。Apache:安装服务,修改配置。添加虚拟主机,端口。
MySQL:安装,配置
my.ini
。一通下来,web服务器也得配,应用程序也得配,数据库也得配。重复劳作,费工耗时,身心俱疲。
还不说不同版本的切换,有够折腾一下的了。
后来有作者专门把这些工具整合到一起,发布出来给大家用。比如wamp,xamp,用过且不那么灵通。后来遇到PHPStudy,才算感觉到省心省时。
前一段时间说有黑客篡改了phpstudy的发行版,并且释出,有不少线上网站在用。不过官方没有说的哪个版本。所以,如果用,就直接用最新版8.0。
Linux下开发环境搭建如果您不是想在命令行vim下进行所有的代码开发。还是要用个带桌面的Linux发行版。
体验较好的应该数Ubuntu。界面,工具,环境,都较为齐全。
当然上面phpstudy也有linux版本的,它要求你的系统是干净的,安装完毕之后,没有修改配置过其他服务或软件。这很好理解,LAMP所有的配置,都是系统级的,言外之意:“在我接管你的系统之前,什么人都不要放进来!”
好吧。谁让我们自己不会配呢,只能把家门口打开,让人家东翻西找。
那其实除了phpstudy,在linux下我们还有另外一个选项:BT Panel。宝塔面板。
phpstudy如果用于开发尚可,用于生产,我们一般不用。要么运维同学配置环境,要么使用宝塔面板。
宝塔面板所使用的源码,我们在一定程度上可以定制,可以修改,可以把应用控制在自己手中。毕竟系统级的应用,上线之后,如果处于失控状态,那就太可怕了。
比如bt panel的后台页面,使用python tornado框架开发。
还有许多免费的插件,使用python开发。在出现bug,或者需要修改功能的时候,运维,或者开发的同学,可以直接上手修改源码。
推荐一个MySQL终端自带的mysql客户端,如果能自动提示,关键字提示,自动补全,像写bash一样舒适,那该多好!
你的心愿,总会实现!mycli!
关键字记不住。没关系,mycli帮你补全;
表名,字段名太长,老打错,没关系,mycli帮你补全。
Linux下开发,数据库是绕不开的。真心好用。
一个顺手的IDE,让你敲代码如飞。
一个顺手的开发环境,让你真正准时下个班,整点睡个觉,少遇到点“为什么我的电脑上好好的”!
以上。
如何快速入门php?
其实是有方法的,可以学习一下入门到精通视频教学,接着为大家整理了一套PHP从入门到精通教程,希望能帮到初学PHP的朋友。
以上就是PHP入门到精通教程,需要的朋友可以关注公众号,“鲸鱼微课”就可以免费领取,获取方式真实有效哦!
是一个符号写两遍这么简单吗?
引言
我们经常在程序流程中进行逻辑判断,与或非,用的是炉火纯青,相信你也不少用。那么在PHP中,有两个操作符非常接近,就是 | 和 ||,那么他们有什么区别呢?
本文就从几个小栗子,说一说逻辑运算符,和位运算符那些恩爱纠缠。
学习时间正好比PHP内的 & 和 && 的关系一样,双符号表示“短路”操作。什么意思呢,就好比下面这个条件判断:
if(condition1 || condition2 || condition3)
如果 condition1 = true,那么后面的两个condition根本不会进行检查。效率是不是顿时高了起来?
假如写成 | ,像下面这样的判断逻辑
if(condition1 | condition2 | condition3)
这个判断会把 condition1,2,3 挨个执行一遍,不管 condition1到底是不是true。是不是有点浪费资源了!
所以说,不使用“短路”操作符,程序上下文是有一定风险的。比如下面的例子,检查某个对象是否为空,且检查其某个属性值满足某个条件:
if($class != null && $class->someVar < 20)
上面的写法,如果 $class 本身就是 null,那么直接熔断;只有 $class 不为空,才会执行接下来的属性检查条件。
如果是一个 & 号,会出现什么情况呢?
如果 $class = null,直接抛出 NullReferenceException 异常;如果 $class != null,第一个条件通过,如果属性 someVar 不存在,则抛出method不存在异常;所以说,没有短路机制,这个判断条件跑偏了。
深入学习其实对于 | 或 &,在PHP中是作为位操作符使用。下图是PHP位操作符的意义:
位操作应用于二进制数据操作,比如:
A = 01010101 B = 10101010 A | B = 11111111
当然也可以是任何类型的数据,因为底层还是字节码的按位操作。
写在最后本文通过操作符 | 和 || 的区别与使用,使大家能够明白,位操作符与逻辑运算符的本质区别。以及逻辑运算符所具有的“短路”机制。
位操作在数据运算中很高效,但是不直观。使用的时候要充分测试。
Happy coding :-)
我是 @程序员小助手 ,持续分享编程知识,欢迎关注。
fastcgi下PHP运行超时问题的解决办法详解?
1,修改ASP脚本超时时间限制 右击需要修改的站点,选择“属性”,然后选择“主目录”,再选择“配置”。 选择“选项”,在ASP脚本超时中修改下时间,确定下就可以了。 2,修改PHP脚本超时时间限制 FastCGI Error The FastCGI Handler was unable to process the request. -------------------------------------------------------------------------------Error Details: •The FastCGI process exceeded configured activity timeout •Error Number: 258 (0x80070102). •Error Description: µÈ´ýµÄ²Ù×÷¹ýʱ¡£ HTTP Error 500 Server Error. Internet Information Services (IIS) 如果服务器正常,本错误往往发生在提交一个很大的字符串时发生。原因就是在处理如此“巨大”的字符串提交请求时,服务器处理超时了。可以通过设置fcgiext.ini里面的超时配置和php.ini里的超时配置来解决。当然,根据个人对服务器设置的不同,可能还需要修改更多配置信息。比如允许一次性提交多少数据。 大概给该网站建立一个独立的应用程序池也可以解决某些因此原因导致的问题。 在C:WINDOWSsystem32inetsrv文件夹中找到fcgiext.ini文件。 注意:如果是新版的PHP环境,fcgiext.ini文件是存放在C:ZkeysSoftphp目录。 打开文件后,里面关于php脚本活动超时时间(ActivityTimeout)的配置信息如下: [Types] php=PHP [PHP] ExePath=c:PHPphp-cgi.exe InstanceMaxRequests=500 EnvironmentVars=PHP_FCGI_MAX_REQUESTS:1000 ActivityTimeout=1200 里面的数字可以自行调整。上面的提示,即配置文件里的ActivityTimeout=600 这个时间超时设置,600是10分钟,最大可以设置为6000一小时。但不一定就是这个原因引起的。
如何自动检测session过期?
个人认为,能不用session,尽量不用SESSION吧,因为SESSION有单机的问题,不适合集群,而且SESSION的回收清理也不太方便,很容易受到攻击,比如说用SESSION记录验证码,如果有人CC攻击验证码,就会产生很多垃圾数据.PHP默认是一个SESSION对应一个磁盘文件.Ubuntu/Debian上apt安装的PHP会带有一个定时任务/etc/cron.d/php5来清理会话文件.即使用Redis存储PHP SESSION,并设置了过期时间,也只能依赖Redis周期性随机检测这种被动的过期机制来清除会话记录(有残余).
Memcached作者说过,Memcached不适合存SESSION,因为Memcached默认的LRU清理机制会在内存不足时清理掉一些记录,可能会导致用户无缘无故地掉线.Redis默认设置是noeviction(不收回),内存不够直接报错.