php(3)

41.保存用户密码:加密(用户密码+随机盐),然后将密码和盐保存。盐每次应该是随机的,不同的,并且应该足够长。一个好的经验是使用和哈希函数输出的字符串等长的盐值。例如, SHA256 的输出为256位(32字节),所以该盐也应该是32个随机字节。对于实用性而言,加盐 MD5 和加盐 SHA256 的安全性一样。尽管如此,可能的话,要使用更安全的哈希函数,比如 SHA256 、 SHA512 、 RipeMD 或 WHIRLPOOL 。php生成随机盐可以用mcrypt_create_iv(php7.1弃用,改成random_bytes),openssl_random_pseudo_bytes。每个用户的每一个密码都要使用独一无二的盐值。用户每次创建帐号或更改密码时,密码应采用一个新的随机盐值。永远不要重复使用某个盐值。

42.webservice 实现方式有soap,nusoap,phprpc等,其中phprpc安装方式有下载源代码(git或download),在windows上用git命令可以用cmder,另一种方式是用composer,http://docs.phpcomposer.com/00-intro.html#Dependency-management,其中根据composer.json安装前先配置一下采用国内镜像https://pkg.phpcomposer.com/

43.wampserver增加php对sqlserver的扩展:a.https://www.microsoft.com/en-us/download/details.aspx?id=20098下载对应php版本的扩展,放入php目录ext目录下,并且配置php目录下的php.ini和apache/apachexxx/bin/php.ini,添加上sqlsrv和pdo_sqlsrv配置,重启wampserver,你会发现扩展里还是没有支持sqlsrv,需要执行b步骤;b.https://msdn.microsoft.com/en-us/library/cc296170(v=sql.105).aspx,往下浏览,你会发现有个列表,列出了Microsoft Drivers for PHP for SQL Server Version和Version of Microsoft ODBC Driver for SQL Server or SQL Server Native Client的对应关系,然后在右边选择对应的下载安装。这样安装好后,重启wampserver,就ok了。

44.linux上放上项目后,firefox和google正常,ie登陆不上,原因是linux的系统时间问题,造成项目中的session过期。修改linux时间,详见[linux]第16条

45.科学计数法转普通数

$a = '1.27175E-5';
echo rtrim(rtrim(sprintf('%.20F', $a), '0'), ".")

46.

[xdebug]
zend_extension ="E:/zm/wamp/bin/php/php7.0.10/zend_ext/php_xdebug-2.4.1-7.0-vc14.dll"
xdebug.auto_trace = On
xdebug.show_exception_trace = On
xdebug.remote_autostart = On
xdebug.remote_enable = 1
xdebug.collect_vars = On
xdebug.collect_return = On
xdebug.collect_params = On
xdebug.trace_output_dir="E:/zm/wamp/tmp/xDebugLog"
xdebug.profiler_output_dir="E:/zm/wamp/tmp/xDebugLog"
xdebug.profiler_enable=On
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp

47.js传递json字符串给php,php接到后中文乱码,js可以用encodeURI函数处理下,PHP接收后用urldecode处理下就ok了。php两个函数

urlencode() 和urldecode();js两个函数decodeURI() 和encodeURI() 

48.getallheaders用于apache下获取头部参数,php官网getallheaders函数定义页面的下方有提供适用于nginx的解决方式,需要注意的是,nginx下头部参数不能包含下划线,否则获取不到

49.swoole

$db = new Swoole\MySQL;
$server = array(
    'host' => 'localhost',
    'user' => 'root',
    'password' => 'root',
    'database' => 'gaoBingFa',
);

$db->connect($server, function ($db, $result) {
    $db->query("show tables", function (Swoole\MySQL $db, $result) {
        if ($result === false) {
            var_dump($db->error, $db->errno);
        } elseif ($result === true) {
            var_dump($db->affected_rows, $db->insert_id);
        } else {
            var_dump($result);
            $db->close();
        }
    });
});


50.利用redis的list,的确可以防止高并发下,秒杀货品场景出现超卖的情况。但是当并发数过大或请求数过大的情况,出现了少卖的情况,也就是请求数多于商品数,执行完后,数据库中还有剩余商品。总体来说:redis可以相对于服务环境并发数不大的情况,可以帮助应对并发。

 

 

$redis=new Redis();  
$result=$redis->connect('127.0.0.1',6379);  
$count=$redis->lpop('goods_store');  
if(!$count){  
    insert_log('error:no store redis');  
    return;  
}

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP(Hypertext Preprocessor)是一种开源的服务器端脚本语言,用于开发Web应用程序。它具有易于学习和使用的特点,并且与HTML代码无缝集成,使得开发人员可以轻松地生成动态网页内容。然而,PHP本身并不是一个专门用于3D渲染的语言,因此在使用PHP进行Web 3D渲染时,我们需要借助其他技术和工具。 要在PHP中实现Web 3D渲染,我们可以使用WebGL技术。WebGL是一种基于OpenGL ES标准的JavaScript API,用于在Web浏览器中渲染交互式的3D图形。我们可以通过在PHP代码中嵌入JavaScript代码来利用WebGL进行3D渲染。 以下是实现Web 3D渲染的简要步骤: 1. 在PHP中编写包含WebGL渲染器的HTML模板文件。此模板文件负责加载所需的JavaScript库和资源,并提供容器用于3D场景的显示。 2. 在PHP中生成动态的3D场景数据。我们可以使用PHP生成动态的3D模型数据、纹理信息等,并将其传递给JavaScript渲染器。 3. 使用JavaScript调用WebGL渲染器。在PHP生成的HTML模板中,我们需要编写JavaScript代码,使用WebGL渲染器加载3D场景数据并进行渲染。 4. 通过PHP动态更新3D场景数据。由于PHP的优势在于生成动态内容,我们可以结合使用JavaScript和PHP,通过AJAX等技术动态更新3D场景数据,实现动态交互。 总之,PHP可以与WebGL技术结合使用,实现Web 3D渲染。我们可以利用PHP生成和动态更新3D场景数据,然后通过JavaScript中嵌入的WebGL渲染器进行可视化渲染。这样的组合能够提供动态和交互式的3D渲染效果,为Web应用程序增添更多的可视化和沉浸式体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值