当前位置:  编程技术>php
本页文章导读:
    ▪phpMyAdmin 链接表的附加功能尚未激活的问题       安装phpMyAdmin的时候我还是没有手动配置config文件,而是使用了它的setup功能。 除了 服务器名称 和 认证方式 以外都使用了默认值。 服务器名称自己随便输入了一个,认证方式修改成了http。.........
    ▪PHP合并数组+与array_merge的区别分析       主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意 1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果.........
    ▪PHP自定义函数收代码       代码如下: <?php #******************************************* #作用:页面无操作,自动过期函数 #参数:$onlinetime 当前页面最后一次使用时间 #参数:$interval 页面超时时间 #返回:无 #*****************************.........

[1]phpMyAdmin 链接表的附加功能尚未激活的问题
    来源: 互联网  发布时间: 2013-11-30

安装phpMyAdmin的时候我还是没有手动配置config文件,而是使用了它的setup功能。
除了 服务器名称 和 认证方式 以外都使用了默认值。
服务器名称自己随便输入了一个,认证方式修改成了http。
另外PMA数据库一页点了文本框后面的笔,把默认值填进去了。
(这时候我已经创建了控制用户,而且把用户名和密码输入进去了。创建的方法我会在后面讲)
保存设置后,输入MySQL的root用户名和密码,打开phpMyAdmin的主画面后,出现了如下的错误

点了 请点击此处之后 看到的画面如下


解决这个问题要注意的地方如下。
1.config文件的删除与拷贝处理
这个有可能不是问题的关键,但是我是在出现问题之后,阅读了官方的文档,然后进行了处理。
在setup画面保存了设置之后,把./config/config.inc.php拷贝到./也就是根目录下,然后删除./config目录
2.创建附加功能需要的数据库和表
在./scripts文件夹下存在一个create_tables.sql文件,将它导入MySQL,创建相应的表。
虽然附加功能还存在问题,但是已经可以使用phpMyAdmin来管理MySQL了,所以我通过下面的画面倒入了create_tables.sql文件

3.创建控制用户
这个我在出现问题之前就已经创建好了。
我使用MySQL的命令行工具,执行了一下的SQL命令。

代码如下:

GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';
GRANT SELECT (
Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
Execute_priv, Repl_slave_priv, Repl_client_priv
) ON mysql.user TO 'pma'@'localhost';
GRANT SELECT ON mysql.db TO 'pma'@'localhost';
GRANT SELECT ON mysql.host TO 'pma'@'localhost';
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
ON mysql.tables_priv TO 'pma'@'localhost';
GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost';

4.修改config.inc.php文件。
因为setup画面上没有设定tracking,所以在进行完上述处理之后第二幅图的其他项目都变成了绿色,但是最后一个项目还是红色。
所以自己在config.inc.php文件中追加了
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
这样一行。
5.存在config.inc.php文件的修改没有起作用的情况
在完成了1到3的设置后,访问主画面的时候,第二幅图的设置没有立即变成绿色。
为了验证config.inc.php文件的修改有没有效果,我把文件中一个很重要的设置'host'给改了,随便在后面加了几个a。
之后访问phpMyAdmin的时候就出错了。然后把那几个a去掉,再访问的时候,除了最后一项tracking,其他都是绿色了。
大概是因为浏览器或者apache缓存的问题吧,这个我还没太搞清楚。

    
[2]PHP合并数组+与array_merge的区别分析
    来源: 互联网  发布时间: 2013-11-30
主要区别是两个或者多个数组中如果出现相同键名,键名分为字符串或者数字,需要注意

1)键名为数字时,array_merge()不会覆盖掉原来的值,但+合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖)

2)键名为字符时,+仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值

需要注意的是数组键形式 '数字' 等价于 数字
代码如下:

$a = array('a','b');
$b = array('c', 'd');
$c = $a + $b;
var_dump($a);
var_dump(array_merge($a, $b));

$a = array(0 => 'a', 1 => 'b');
$b = array(0 => 'c', 1 => 'b');
$c = $a + $b;
var_dump($c);
var_dump(array_merge($a, $b));

$a = array('a', 'b');
$b = array('0' => 'c', 1 => 'b');
$c = $a + $b;
var_dump($c);
var_dump(array_merge($a, $b));

$a = array(0 => 'a', 1 => 'b');
$b = array('0' => 'c', '1' => 'b');
$c = $a + $b;
var_dump($c);
var_dump(array_merge($a, $b));

结果
代码如下:

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'd' (length=1)

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'b' (length=1)

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'b' (length=1)

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)

array
0 => string 'a' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'b' (length=1)

    
[3]PHP自定义函数收代码
    来源: 互联网  发布时间: 2013-11-30
代码如下:

<?php
#*******************************************
#作用:页面无操作,自动过期函数
#参数:$onlinetime 当前页面最后一次使用时间
#参数:$interval 页面超时时间
#返回:无
#*******************************************
function user_mktime($onlinetime,$interval){
$new_time = mktime();
if($new_time-$onlinetime > $interval){
echo "登录超时!";
session_destroy();
exit();
}else{
$_SESSION[times] = mktime();
}
}
user_mktime($_SESSION[times],3600) //1小时不使用,当前页面自动过期
?>

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3