php怎么修改尺寸,普通网站的建设费用和维护费用是多少?
建网站的大致流程如下:
先注册域名,域名就像你的家庭地址一样,用户要浏览你的网站,只要在浏览器里输入相应域名就能直达网站。选择域名的三大原则是方便输入、容易记住、有实际意义,一般是以品牌或网站名称的拼音作为域名比较好,现在的域名后缀五花八门,建议还是以com、cn、net为宜。有心仪的域名越早注册好,避免被别人抢注。域名按年收费,一般是100元左右一年,价格每年可能调整。
然后就是网站建设了,现在一般的网站建设都是模板化了,专业名称叫CMS建站系统。这种建站方式优点是建站快、价格美丽,只需要添加数据,付点使用费就行了。缺点是风格千篇一律,功能固化,网上可能有很多网站跟你的一模一样,只是网站名称不同罢了。想要有自己的风格或功能调整,就需要另外付定制费了。另外一种建站方式是自主开发,适用于大型网站。从建站需求到风格设计,再到功能开发,都是由建站团队量身定制。优点是风格、功能随心所欲,只有想不到,没有做不到。缺点是开发成本高,周期长,价格贵。如果是模板建站一般从几百元到几千元,如果是自主开发,几万块是少不了的,具体要看网站需求跟开发周期了。
再就是购买服务器或空间了,中小型网站一般数据不太多,租用空间合适,大型网站要购买服务器并托管。购买成功后,要进行网站备案,大概需要两周左右,通过备案后就可以上传网站并绑定事先注册好的域名就行了。空间是按年收费,一般是几百到几千;服务器要花钱购买,一般是几万块,还要每年交托管费。
综合来说,模板建站第一年的费用在3000元左右,以后每年只交空间费和域名费,基本在1000元左右。大型网站开发费用在几万和几十万之间(甚至更高),同样每年交服务器托管费和域名费。另外,内容维护如果是找人或外包,需另行付费,基本就是人工工资了;如果是自已维护就没有这方面的开支了。
希望我的回答能让你满意。
packet参数过小问题及如何调整?
MySQL作为主流的开源数据库而言,目前已被越来越多的企业所使用,无论是Java还是PHP项目,最常见的就是搭配MySQL使用。MySQL使用虽然简单,但由于其配置项较多,如果某些配置项设置不当,可能会影响数据库的正常使用。
MySQL中的max_allowed_packet参数作用MySQL中的max_allowed_packet配置项限制了MySQL Server可接受数据包的大小。此配置值如果设置得太小,那我们在插入/更新较大的数据时可能会报错。
如何查看MySQL可接受数据包的大小?我们可以通过一条SQL语句来查看当前MySQL可接受数据包的大小。
mysql> show VARIABLES like '%max_allowed_packet%';如何修改MySQL可接受数据包的大小?我们可以通过修改MySQL的配置文件(Windows下为my.ini 、Linux下为my.cnf)中的mysqld 配置段参数。
# vi /etc/my.cnf
此处大小请视情况调整即可,一般10M都算很大设置了。
然后重启MySQL服务即可:
# service mysql restart以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!实时生成并下载大数据量的EXCEL文件?
对于任何一个网站肯定是少不了下载功能,常见的下载功能有图片、视频、Excel表格,如果文件比较小的话,那么不会遇到任何的问题,但是当文件信息而超过了PHP的最大内存,那么在这个时候它就会有的内存溢出的问题。
那么它们是因为什么而发生的?对于这个过程的原理才是我们应该真正要去弄明白的事情
下载大数据量的EXCEL文件为何要报错?PHP在下载大Excel表格的时候,那么首先它是需要去把MySQL的数据从硬盘上面读取到内存,但读取它是一次性载入到我们的内存,如果说它一次性载入的数据量远远大于最大内存,然后再来执行浏览器的业务下载。那么这个时候它就会发生我们这个内存溢出。
就比如:说我们现在有100M的数据量,但是我们PHP内存最大只有64M,那么这个它肯定是装不了的,我们可以把那个内存比喻为一个水杯,这个水杯的容量比喻为内存,现在杯子最大容量为64L。你要存放100L。肯定放不下
大事化小,小事化了。拆分成段从上面可以看到文件下载,它是分为两步,首先是载入内存然后执行浏览器的输出下载,那么既然大型文件一次性载入不了,那可以采用 “大事化小,小事化了”思路,我们可以实现边写边下载,也就是分批次的读取与写入。
因为用户的话,只要最终拿到这个文件就可以,对于浏览器的下载原理不需要关心。只需要给到文件下载提示给用户即可,然后后端在实时的分批次的写入到要下载的文件当中。
实现思路步骤:
1、一设置浏览器下载Excel需要的Header
2、打开 php://output 流,并设置写入文件句柄。
注:(php://output,是一个可写的输出流,允许程序像操作文件一样将输出写入到输出流中,PHP会把输出流中的内容发送给web服务器并返回给发起请求的浏览器)
3、获取数据库所有数据量,并设置每次查询的条数,通过这两个值计算分批查询的次数
4、基于分批查询的次数循环查询数据库,然后写入到文件中,同时清除本次操作变量内存,刷新缓冲到浏览器,让浏览器的文件始终实时保持到最新的大小
注:刷新用ob_flush、flush()PHP的I/O流在这里我们用到了PHP的一个IO的输入输出,也就是我们常用的
php://input php://output。php://input
php://input可以读取原始的POST数据。相较于$HTTP_RAW_POST_DATA而言,它给内存带来的压力较小,并且不需要特殊的php.ini设置。php://input不能用于enctype=multipart/form-data”.
注:HTTP_RAW_POST_DATA 在PHP7已经被废弃,它不是$_POST额php://output
php://output 是一个只写的数据流, 允许你以 print 和 echo 一样的方式 写入到输出缓冲区。
综上:实现思维与原理很重要如有感悟,欢迎关注额。(* ̄︶ ̄)要上传几百兆的大文件要怎么配置?
1. 一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完.但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行.这就导致出现 无法打开网页的情况.这时我们可以修改 max_execution_time在php.ini里查找max_execution_time默认是30秒.改为max_execution_time = 00表示没有限制2. 修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到文件上传。php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.查找 post_max_size .改为post_max_size = 150M3. 很多人都会改了第二步.但上传文件时最大仍然为 8M.为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。查找upload_max_filesize,默认为8M改为upload_max_filesize = 100M另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.
如何获知PHP程序占用多少内存memory?
1、可以使用memory_get_usage函数查看PHP占用的内存数memory_get_usage — 返回分配给 PHP 的内存量int memory_get_usage([ bool $real_usage = false])返回当前分配给你的 PHP 脚本的内存量,单位是字节(byte)。参数说明:real_usage:5.2.0版本新增参数,如果设置为 TRUE,获取系统分配的真实内存尺寸。如果未设置或者设置为 FALSE,将是 emalloc() 报告使用的内存量。
返回值:返回内存量字节数。