1.对于数据库操作的代码,可以提取出一个简单的php文件
//设置连接 oracle 数据库的参数 $host = "192.168.11.101"; $port = "1521"; $sid = "orcl"; $sname = "orcl"; $server_name = "orcl"; $db_username = "system"; $db_password = "orcl"; $dbstr = "(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =$host)(PORT = $port)) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = $server_name)(INSTANCE_NAME = $server_name)))"; $dbconn=oci_connect($db_username,$db_password,$dbstr);//如果去掉最后一个参数或者为“ ”,默认连接本机
2.注意,有时php包含php文件时,发现可能会有编码的问题
3.json编码,发现对中文的操作不予执行,找到一个解决方法:
4.使用QQ互联进行测试时发现出现的提示信息:----------------2016/2/29 (记录)分析得出,个人在QQ互联中的网站地址写的与默认连接不一致,保证了回调地址的正确以后,进行测试发现正常。
5.php的json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
PHP5.4才支持JSON_UNESCAPED_UNICODE这个参数,此参数是让中文字符在json_encode的时候不用转义,减少数据传输量。但在PHP5.3中,就得自己写个函数来实现,以下就是解决方法:
/** * 对变量进行 JSON 编码 * @param mixed value 待编码的 value ,除了resource 类型之外,可以为任何数据类型,该函数只能接受 UTF-8 编码的数据 * @return string 返回 value 值的 JSON 形式 */ function json_encode_ex($value) { if (version_compare(PHP_VERSION,'5.4.0','<')) { $str = json_encode($value); $str = preg_replace_callback( "#\\\u([0-9a-f]{4})#i", function($matchs) { return iconv('UCS-2BE', 'UTF-8', pack('H4', $matchs[1])); }, $str ); return $str; } else { return json_encode($value, JSON_UNESCAPED_UNICODE); } }
6.这两天,在学些LAMP的一点知识,主要记录一些问题在此,希望给遇到相同困扰的人一点参考。---2016.5.25
windows环境下的PHP学习,算是有一点基础了,但毕竟是自学,所以自己的学些规划不够清晰,意识到必须学习Linux系统下的相关知识才行。前几天安装了VMware,并且安装了Ubuntu,CentOS6.5,Deepin三种系统,具体的安装也是参考网络上的图解,其中值得注意的几点是:
·win10环境下的VMware安转和运行时,尽量选择 管理员权限
·Linux系统的选择,各有各的优点吧,个人觉得Deepin是界面最好看的,记得设置用户名和密码
·发现升级为win10系统后,自己所装的虚拟机都不能上网了,后来在VMware->编辑->虚拟网络编辑器 中点击了左下角的“恢复默认设置”,测试发现问题解决
·多数问题,可以百度来的就自己解决,毕竟自己找错误的就是很好的学习。
7.今天在使用xshell软件连接Linux系统时发现,只有CentOS可以连接,同时使用putty来测试,证实其他的虚拟机无法连接,根据网上的一个提示 重启ssh服务,当然网上提示的是 "sudo service sshd start",测试发现应该是没有安装的原因,但是使用“sudo apt-get install sshd”是不成功的,可能提示错误或者系统不同的原因吧,然后发现使用 语句“sudo apt-get install ssh”进行顺利安装,同时需要更改目录/etc/ssh/sshd_config中的信息,将PermitRootLogin 改为 true ,最后进行启动服务的命令“sudo service ssh start”,最后测试发现xshell和Putty都可以顺利连接,当然FileZilla也是没问题的。
顺带一提,为了保证在使用FileZilla时满足文件上传下载,需要以管理员root身份登录,如果没有设置root密码,需使用命令$ sudo su 或者$ sudo passwd root 创建密码,如果要转化管理员,使用命令 su user 即可。
8.附带一段进行随机数获取的代码,便于以后参考。
<?php /** * 此脚本的设计用于测试数据 * 获取十八组 八个字节的随机数据 并进行计算整理 * 最后以字符串拼接的形式输出 注意其中的十六进制转化 */ $hexadecimal = '7FFFFF'; $maxNum = base_convert($hexadecimal, 16, 10); echo GetRandStr(18,$maxNum); /** * @param $len 获取数字的次数 * @param $tag 数字的最大范围 * @return string 获取随机数的字符串 * */ function GetRandStr($len,$tag) { $output=''; $output2=''; for ($i=0; $i<$len; $i++) { $tagNum = mt_rand(0, $tag); $Num1 = sprintf("%06X",$tagNum);//进行位数的补全设置 $Num2 = GetNum2($Num1,$i); $output .= '00'.$Num1; $output2.=$Num2; } return $output.$output2; } /** * @param $num1 传入的第一组数据值 * @param $tag1 参考标记 * @return string 返回计算后的字符串 */ function GetNum2($num1,$tag1){ $output2=''; $tagNum = base_convert($num1, 16, 10); if($tag1<8){ //使用pow()内置函数进行整数的求幂运算 $m1 = (5*$tagNum)/(pow(2,23)-1)*10000; }else{ $m1 = (20*$tagNum)/(pow(2,23)-1)*1000; } //使用内置函数floor()取整运算 $m2 = sprintf("%04X",floor($m1)); $output2.=$m2; return $output2; }