网络工具
技术文章

php调用统计软件R进行复杂计算并获取结果的技术实现

php作为web程序开发的主要语言,应用广泛。R作为一种统计软件,在数学算法的实现上具有良好的可操作性。最近,由于工作的需要,要对一些web应用的数据进行复杂的数学计算,但php本身虽然可以写一些数学算法,但仍难以满足需求,数十行代码的效率抵不上R中的一个函数,经过研究,最终实现了在php的即时访问中调用R进行计算操作,并直接读取计算结果,在web页面中进行显示。大概思路如下:

重点在于php激活R程序运行,并向R传递计算参数,获得结果。

php激活R,可以采用内置函数exec,这样只要在操作系统运行窗口执行的命令都可以在此执行,R执行的命令为(以下均指在windows环境下)

"D:\\Program Files\R\R-2.15.2\bin\x64\R.exe" --vanilla < D:\\test.R  out.txt

第一部分为本机的R程序的路径,后边加R软件的option,可自定义,后加要执行的R程序文件,是重点,最后执行输出文件,此文件为指令必须,但对我们没有用处。

标签: PHP, PHP编程

利用.user.ini文件修改 open_basedir加强php系统安全性

.user.ini是lnmp文件,里面放的是网站的文件夹路径地址,目的是防止跨目录访问和文件跨目录读取,从一定意义上,保证未知PHP代码可能带来的潜在的安全性问题。

配置放在根目录 .user.ini

open_basedir=/项目路径/:/tmp/:/proc/     

例:

open_basedir=/www/www.a.com/:/tmp/:/proc/

值得注意的是,上述路径中,请一定要以斜线结尾,如果没有用斜线结尾的话,则代表的是一系列以对应名称开头的目录。比如:/user 代表的就是 /user(*)/ ,所以请一定要注意,斜线的使用。

同时,注意设置改文件的权限,要比根目录代码权限高,防止被直接操作修改。


https://www.php.net/manual/zh/configuration.file.per-user.php

标签: PHP, WEB开发, 安全

记一次aliyun主机ECS被入侵挖矿

偶然发现阿里云后台一台ECS主机CPU使用率一直在100%附近,细看是一台给客户挂闲置服务用的,很少有人去管,拉长数据一看,CPU100%已经两个星期了,内存无异常,硬盘每1分钟会有尖状高峰,估计是有cron job有问题。

找到记录的登陆信息ssh上去,均提示密码错误,无奈阿里云后台强制改密码,重启,ssh,crontab -l,被入侵无解了,主要是端口没改,root允许登陆且使用了弱密码,给了坏人机会。

备份文件,重装系统,改端口,改密码。

总结:安全意识时刻不能放松。

image.png

Linux下screen命令的常用语句

screen命令可以在终端中建立独立连接,关掉终端后依然保持运行,可用于文件传输或运行时间较长的程序

安装:yum install screen

新建:screen -S onename

查看:screen -ls

进入:screen -r onename

完全退出:exit,相当于直接关掉终端窗口

保持会话退出:同时按键盘Ctrl+A+D键

标签: Linux, VPS主机, 命令

网页标签云自定义格式自动生成程序示例

标签云是一套相关的标签以及与此相应的权重。典型的标签云有30至150个标签。权影响使用的字体大小或其他视觉效果。同时,直方图或饼图表是最常用的代表约12种不同的权数。因此,标签云彩能代表更多的权,尽管不那么准确。此外,标签云通常是可以交互的:标签是典型的超链接,让用户可以仔细了解他们的内容。

首先使用标签云的一家高知名度的网站---照片共享网站Flickr。标签云的设计者是交互设计师Stewart Butterfield。之后,标签云被诸如del、Technorati等网站采纳。

根据标签云的作用(而非样式),在应用中可以将其分成三大类。其中,第一类用于描述网站中的每个独立条目,而第二类则着力于从整体上刻画网站所有条目的标签情况:

第一类标签云:每一个条目都有自己独立的标签云,标签字体越大,此条目中用户使用过这个标签的次数就越多,在页面公开统计点击且不要求精准数据的情况下十分适用。如Last.就是使用了第一类标签云。

第二类标签云:网站一般会有一个超大型标签云,标签字体越大,网站里使用过这个标签的条目数就越多。第二类标签云可以显示出标签的热门程度,在实际应用中更为常见,如flickr。

第三类标签云:在此类中,标签作为一个数据项目的工具,用于表示在整个集合中里各个项目的数据量的大小。

标签: WEB开发, 设计

SQL中不同情况下反斜杠到底要写几个

某段SQL中需要去解析一个字段中的json字符串,然而,里边的汉字也是编码后的,存的格式类似

u6e38u620f

SQL语句理论上如下

get_json_object(extends,'$.cate')='u6e38u620f'

但是呢,实际系统执行中涉及到层层编译过程,反斜杠到底该写几个才能select出正确的结果呢?

实验结论如下:

spark-hive>

情况下,输入两个反斜杠即可

标签: SQL, SQL数据