PHP

来源:互联网 发布:淘宝宝贝上架编辑技巧 编辑:程序博客网 时间:2024/05/19 13:06

安装

php-7.1.9:Windows 7不是SP1,白搭,况且Vim内置PHP的version没做了解。
下载php-7.1.9-nts-Win32-VC14-x86、Visual C++ Redistributable for Visual Studio 2015(VC14)
解决Visual C++ Redistributable for Visual Studio 2015的安装问题
1. Visual C++ Redistributable for Visual Studio 2015系统要求:Windows 7情况下必须是Windows 7 with SP1.或者Windows10
2.系统检测方法:命令行输入winver.exe回车,如果你的windows版本是7600,需要将系统升级到7601即SP1。
3.升级方法:
1)首先在这里http://www.microsoft.com/zh-cn/download/details.aspx?id=5842##,下载SP1升级程序,1.9GB那个文件,用虚拟光驱载入安装或者解压安装。
2)升级完毕之后安装http://www.microsoft.com/zh-cn/download/details.aspx?id=49982 ->即net 4.6环境.
3)只要成功安装了Microsoft .NET Framework 4.6.1,再安装VC++2015 32位和64位运行库即可。
4)如果实在升级不了.那么,可以考虑下载原版win7 sp1镜像安装更新系统或重做系统,系统镜像推荐在http://msdn.itellyou.cn/下载。或者考虑升级windows 10,但不推荐有驱动问题的升级,尤其是品牌笔记本与台式机。windows 8/8.1 基本是同一个思路。
5)附上Visual C++ Redistributable for Visual Studio 2015的下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145

Windows 7(without sp1)能装Visual C++ Redistributable for Visual Studio 2012 Update 4 (VC11),所以可以装php-5.6.31-nts-Win32-VC11-x86。
不论是在哪一个操作系统里,你都需要对它进行测试,以保证它能正常运行,方法是用-v参数调用它:
shell>/paht/php.exe -vPHP 5.0.0 (cli) (built: Jun 1 2005 18:32:10)Copyright (c) 1997-2004 The PHP GroupZend Engine v2.0.0, Copyright (c) 1998-2004 Zend Technologies

配置

环境变量:在用户环境变量PATH中加入目录即可。
php.ini:不作为服务器(.dll)的话,选择php.ini-development改名为php.ini。CLI模式和CGI模式运行时用的php.ini并非同一套配置,需要单独配置。
php.ini:date.timezone = Asia/Shanghaidefault_mimetype = "text/plain"default_charset = "GBK"ignore_user_abort = Off ;可能需要统计等功能max_execution_time = 0 ;只在web服务模式下需要设置,命令行不需要设置

IDE

PHP的IDE比较好的有NetBeans、PhpStorm、Zend Studio5.5.1。
Zend Studio作为一个历史悠久的IDE,从诞生以来就BUG不断,5.5版本算是最经典的,从6.0开始使用了eclipse架构,虽然提高了系统的兼容性,但是Java那东西太耗费系统资源了,没有强悍的硬件支持,跑一个Zend Studio 7 简直是折磨。
http://www.wendangku.net/doc/736ec60a52ea551810a68770.html
http://blog.csdn.net/huoshanbawang/article/details/5255464

NetBeans 6.9.1

jdk1.6.0_45
JDK不需要重装只需要设置环境变量(如果重装了系统)。对于NetBeans来说只需要新建用户变量JAVA_HOME,不需要CLASSPATH和Path。

重构只对Java能用;拼写检查是联机的没法使用。PHP不使用“重命名”重构和拼写检查是对的,因为PHP是剥离的可以更换场景使用的函数,命名风格包含C语言风格与Java有区别。Java的原子是对象而PHP的原子是函数。
NetBeans也不需要重装只需要设置选项(如果重装了系统)。
字体:Microsoft YaHei Mono
插件:

“回车”(return)和“换行”(next)

“回车”(return)和“换行”(next)的来历和区别。在计算机出现之 前,有一种叫做电传打字机(Teletype Model 33,Linux/Unix下的tty概念也来自于此)的玩意。在每行后面加两个表示结束的字符,一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。Unix/Mac系统里,每行结尾只有“换行”,即"\n";Windows系统里面,每行结尾是“回车”“换行”,即“\r\n”。一个直接后果是,Unix/Mac系统下的文件在 Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,可能在每行的结尾会多出一个^M符号。

CLI

PHP CLI命令行下运行php的三种方法(带参数)

弱类型安全

PHP弱类型安全问题

字符集和编码方案

注意,字符集与编码方案不是一回事。
字符集,自从Windows2K开始,Win的系统内核开始完全支持并完全应用UNICODE编写,所有ANSI字符在进入底层前,都会被相应的API转换成UNICODE。所以,如果你一开始就使用UNICODE,则可以减少转换的用时和RAM开销。 对于JAVA/.NET等这些“新”的语言来说,内置的字符串所使用的字符集已经完全是UNICODE。而且是“little endian”。
编码方案,Windows NT内核中使用的是UTF-16(或者說是 UCS-2 的某個內部的變體,因爲 NTFS 那個年代比 UTF-16 古老)。如果你写内核驱动就知道了,在内核里几乎都是以UTF-16的方式处理字符串的。因此,Windows 7 简体中文版的 NTFS 文件系統的文件名編碼是 UTF-16。
如果你看到了 GBK 編碼的文件名,幾乎肯定是讀寫文件名的程序使用了 A 系的 Win32API 而不是 W 系的 Win32API ,這是你用的那個程序的鍋,和 Windows 沒關係。最常見的是 WinZip 記錄的文件名編碼。
谈编码方案的时候Unicode仅指Unicode字符集配UTF-16编码。其余,UTF-8、UTF-7、GB2312、ANSI/ASCII等一律划归Multibytes。故而Multibytes应理解为“变长”字符,而非“多”字符。
PHP面向的是比较“流行”的应用,广泛应用于互联网业务,支持UTF-8是首要的,php.ini中的一句话“; PHP's default character set is set to UTF-8.”。php5.4 的htmlspecialchars函数第三个参数字符串编码的默认值改成了 UTF-8,可能类似字符集默认值修改还有。
如果PHP源代码是Unicode的,那么所有substr之类的函数都不需要mb_substr而是substr即可?
在php.ini中有四个设置参数:default_charset ; internal_encoding ; input_encoding ; output_encoding ,在源代码中指定无效不知道为什么。
NetBeans 6.9.1设置中的UTF-16是big endian,应该选择UTF-16LE。PHP 5 不解析Unicode的源代码。
PHP 5 的内码是UTF-8,而且
ini_set('internal_encoding', 'Unicode');
ini_set('internal_encoding', 'UTF-16le');
指定无效。
对于PHP而言,如果使用GBK那么,例如有的文件名不能正确识别。简体中文版Windows下,PHP与命令提示符和文件系统目录打交道都是GBK。但是,PHP对GBK支持不好,写文件时繁体有问题。所以源代码和向文件写数据都用UTF-8。转换编码用iconv()而不是mb_convert_encoding()。PHP7未定。
原创粉丝点击