saephp源码
‘壹’ 有没有可以在SAE 平台运行的 影视源码 最好是php的
苹果、光线、飞飞电影程序都有PHP的版本…
‘贰’ php自动发货源码如何架设在sae上
自己空间架设修改配置文件config.php
///////////////////////////////////////////////////////
$dbhost=SAE_MYsql_HOST_M;//数据库ip地址
$dbuser=SAE_MYSQL_USER;//数据库用户名
$dbpwd=SAE_MYSQL_PASS;//数据库密码
$dbname=SAE_MYSQL_DB;//数据库名
$dbport=SAE_MYSQL_PORT;//数据库端口
$db_prefix=”t_”;
把配置修改成自己的数据库即可。
$dbhost=“localhost”;//数据库ip地址
$dbuser=“root”;//数据库用户名
$dbpwd=“123456″;//数据库密码
$dbname=“aixiwentest”;//数据库名
$dbport=3306;//数据库端口
$db_prefix=”t_”;
执行install即可
其他和免费空间架设一样!
‘叁’ 新浪云php项目代码中.sea文件有什么用
sae文档
运行环境
基本环境
新浪云 PHP 运行环境目前的 Web 服务器使用的是:
CentOS-6.x
Apache-2.2.x
PHP-5.3.x / PHP-5.6.x
Web 服务器运行在 64 位 Linux 环境下。
Apache 运行在 Prefork 模式下,即每个请求都会对应一个 Apache 进程,请求结束后该进程才能服务于下一个请求。平台通过模块方式扩展了 Apache 和 PHP 的相关功能。
禁用函数和类
出于平台安全性考虑,我们禁用了以下函数和类,禁用的标准主要有四点:
出于对安全性的考虑
出于对资源管理的考虑
不常用的 API
我们提供更好替代方案的 API
禁用的函数:
symlink
link
exec
system
escapeshellcmd
escapeshellarg
passthru
shell_exec
proc_open
proc_close
proc_terminate
proc_get_status
proc_nice
dl
pclose
popen
stream_socket_server
stream_socket_accept
stream_socket_pair
stream_wrapper_restore
mail
mb_send_mail
posix_kill
apache_child_terminate
apache_lookup_uri
apache_reset_timeout
apache_setenv
virtual
socket_create
socket_create_pair
realpath_cache_get
禁用的类:
SQLiteDatabase
SQLiteResult
SQLiteUnbuffered
SQLiteException
沙箱
代码和数据的隔离:每个应用在运行期间,只能“看”到自己的代码和数据,即 A 应用无法访问 B 应用的代码和数据。注意,这里提到的在 Web 服务器上的数据,往往指一些中间处理过程的临时数据,并非最终落地的数据,比如用户上传照片会临时存储到 TmpFS。
连接数的隔离:我们知道,程序写的不好,很容易导致阻塞,并进一步导致连接数的飙升。单个应用过多占用 Apache 连接数,原因往往是多方面的,应用请求外部资源被阻塞是一个最为常见的因素,另外应用页面过大浏览器下载慢也是常见因素之一。公有云平台同一时刻往往运行着大量的应用,如果某一应用出现连接数异常,最直接的后果是整个平台上的所有应用都将陷入瘫痪。新浪云平台目前有设置“应用最大 HTTP 并发连接数”,目前这个值是 500,如果应用平均单个请求处理时长是 100ms,那么该应用每秒的 HTTP 并发连接将可以到达 5000,每天的请求超过 1 亿没有问题。但如果您的应用平均每个请求处理时长 2 秒,那么该应用每秒的 HTTP 并发连接只能到达 250,每天支撑的请求数将在千万。总体而言,尽量迅速处理完请求对应用是有利的,而且也是平台所鼓励的。
内存隔离:目前新浪云平台上对单个 PHP 脚本的处理,设置了 128MB 的上限 (max_memory,ini_set 不可修改),我们认为这个设置是一个相对很高的值,可以说能够满足绝大部分应用的需求。设想一台服务器 8G 内存,如果每个 PHP 处理都消耗 64M 内存,那么该服务器最多只能同时运行 128 个 PHP 脚本。新浪云引入了”应用最大并发内存数“的概念,目前的设置是 4GB。如果应用程序单个请求的内存消耗平均在 16MB,那么可同时运行 256 个请求,这和上面的并发连接数的设定是基本一致的。
CPU 隔离:这主要是通过新浪云的配额系统来达到 CPU 时间的隔离。每个应用都有 CPU 时间消耗的分钟速度限制,避免了某一应用过多非法获取 CPU 资源导致其它应用响应慢的问题。
目前新浪云平台上允许的“单请求最大存活时长”是 300 秒 。
注解
当应用并发超过限制,系统会返回 508 错误,并显示 Connections out of quota。当应用内存占用超过限制,系统会返回 509 错误,并显示 Memory usage out of quota。
环境变量
您可以通过打印 PHP 的全局变量 $_SERVER 来获取跟新浪云相关的环境变量信息,每个环境变量的信息如下:
变量名
说明
HTTP_APPNAME 标志该请求属于哪个应用
HTTP_APPVERSION 标志该请求对应该应用的哪个版本
HTTP_ACCESSKEY 该应用访问各种服务资源的帐号
HTTP_SECRETKEY 该应用访问各种服务资源的密码
HTTP_APPCOOKIE 一些和 app 管理相关信息
警告
不要直接打印出 $_SERVER 变量,这样可能会造成应用的 AccessKey 和 SecretKey 的泄露。为了应用的安全考虑,请保护好自己的 AccessKey 和 SecretKey。
常用字体文件路径:
constant SAE_Font_Sun
宋体字体文件路径
constant SAE_Font_Kai
楷体字体文件路径
constant SAE_Font_Hei
文泉驿正黑字体文件路径
constant SAE_Font_MicroHei
文泉驿微米黑字体文件路径
全局函数
is_https()
判断客户端是以 http 还是以 https 的方式连接。
返回:
如果是 https 连接返回 true,否则返回 false。
‘肆’ 在新浪SAE平台运行的php代码
//下面是sae数据库连接并读取数据,自己去琢磨琢磨
<?php
$db=newSaeMysql;
$sql=sprintf("SELECT*FROMdemo_formwhereid=%d",123);
$row=$db->getData($sql);
if($db->errno()==0){
echo"继续执行。。。";
}else{
echo$db->errmsg();
}
?>
‘伍’ 新浪云php安装过程,怎么操作,已经下载了源码,并传到服务器,出现这个,怎么解决
新浪SAE没有写文件权限,无法使用smarty,建议使用虚拟主机或者云服务器,像万网等都有免费空间的
‘陆’ 新浪sae怎么运行php和mysql
你可以把php代码放到sae空间去,运行就行,但SAE 的php和mysql 环境某些功能不能使用,但不影响绝大部分程序的运行。
‘柒’ SAE通过代码实现本地文件上传到Storage,PHP编写
这个是做不到的
举个例子,假如一个url就可实现文件上传
那么我可以随意枚举访问者本地文件,进行上传了
这有悖于网络安全
比如,你只要访问我网站首页,就会默认把这个文件上传,我觉得会有很多人中招的
C:\Users\Administrator\Desktop\1.jpg
‘捌’ 新浪SAE数据库连接,PHP代码,mysql_connect 函数的服务器参数问题
默认端口可以不用写。不是默认的就必须要写上。
‘玖’ 新浪sae上建了个简单留言板,但是Insert To语句没生效。帮我看看这几段php代码
没有选择数据库。
可以在连接语句里选择,或者连接后用语句选择,或者在gbook前指定数据库
‘拾’ 求一个PHP应用的完整源码,要部署在SAE上
1、开启服务
部分必需使用服务没有默认开启,必需开启后才能正常使用Thinkphp sae引擎,使网站正常工作。必需服务:MySql服务,用于mysql数据库存储数据、Strorage服务,用于存储上传文件、Memcache服务,用于存储Thinkphp 缓存、KVDB,用于存储键值数据。根据网站需要开启相关服务,以上为常见的sae服务。
2、缓存清除
如果开启了调试输出trace,然后关闭了,但是网页还是显示trace信息,需要把网站的缓存数据删除后生效,点击Memcache服务,Memcache状态下选择清空即可,如果没有在sae上部署则是直接删除相关缓存文件。
3、原生sae服务
由于sae提供原生服务不能与其他环境兼容,为使网站移植性更好,应该尽量少直接使用原生服务,可以选择使用Thinkphp中相应的方法来实现。sae禁止本地IO,所有直接操作本地IO的函数都失效,需要使用sae其他服务来实现,这点一定要注意。
4、代码上传
可以直接上传代码包到sae上,可以使用svn来上传代码
5、屏蔽index.php
在代码根目录下的config.yaml中加入以下代码即可
handle:
- rewrite: if(!is_dir() && !is_file() && path~"^(.*)$") goto "index.php/$1"