小编Tim*_*nen的帖子

错误表'mysql.servers'不存在

当我尝试创建一个新的数据库用户时,我从plesk得到错误"表'mysql.servers'不存在",创建的用户没有出现在任何地方,但名称仍然保留,并且它不允许我访问数据库.

编辑: 我无法登录phpMyAdmin到这个网络服务器,所以我设法通过一个不同的域登录到它,它告诉我一个通知:你的PHP MySQL库版本5.0.90不同于你的MySQL服务器版本5.1.49 .这可能会导致不可预测的行为.

编辑: 手动安装phpmyadmin然后手动安装libmcrypt(这是我的cruddy服务器技能的成就:D),以便phpmyadmin工作.然后偶然发现如何通过plesk以root身份登录(诀窍是在不选择任何数据库的情况下输入webadmin),至少我认为它是root:S运行sql:GRANT SELECT ON mysql.*to'my-user'@'本地主机"; 成功的消息回到了plesk,看看我是否可以使用"my-user"管理sql而不是,它仍然缺少可用用户,但名称仍然保留...试图运行:mysql_fix_privilege_tables -user = root -password = mypasswordobviosuly -verbose但是给出了错误,我仍然不确定如何在不使用ssh的情况下运行直接的mysql命令(因为我不知道root密码)

mysql plesk

4
推荐指数
3
解决办法
2万
查看次数

php容器类:为什么每个人都使用更复杂的方法?

当我找到php的脚本或查看php框架时,我看到一个"注册表类"或"容器类",它通常使用__get魔术方法保存变量或其他对象.

这是我的意思的简化示例:

例1:

class container {
 private $objects;
 public function __get($class){
  if(isset($this->objects[$class])){
   return $this->objects[$class];
  }
  return $this->objects[$class] = new $class();
 }
}
Run Code Online (Sandbox Code Playgroud)

上面的例子在创建类时会有更多的函数,而不是只调用它,但对于我的例子,它应该就足够了."示例1"是我在从互联网下载的脚本中大多看到的,它维护着一个单独的类实例,现在我想知道的是,这个例子不会做同样的事情并且效率更高:

例2:

class simplecontainer {
 public function __get($class){
  return $this->$class = new $class();
 }
}
Run Code Online (Sandbox Code Playgroud)

但我从未在其他人的剧本中看到"例2",这使我在考虑使用它之前会三思而后行.

我使用它们将包含的几个类来测试容器与简单容器,并且重复使用大约100000次,"示例1"在我的本地机器上以0.75秒进行测试,"示例2"在0.29秒内进行测试.

我应该在我的脚本中使用哪个?例1或例2?为什么?

php containers

4
推荐指数
1
解决办法
1万
查看次数

如何将带有HTML entites和无效字符的文本转换为UTF-8等效字符?

我正在更改标题,因为我不知道特殊的破窗口字符导致我的问题,使问题看起来像一个副本.

如何转换HTML实体,类型&#[0-9] +的字符引用; 和&#x [a-fA-F0-9] +;,无效的字符引用 - 和无效的windows字符chr(151)到它们的UTF-8等价物?

基本上如何清理一些非常糟糕的变量编码文本并将其保存为UTF-8?

原始问题如下

转换&#[0-9] +; 和&#x [a-fA-F0-9] +; 参考UTF-8等值?

例如

—
—
Run Code Online (Sandbox Code Playgroud)

至 -

像浏览器一样,但用PHP.

编辑:甚至是Windows制作的非标准版,但浏览器仍然显示.

html php utf-8 character-encoding iconv

4
推荐指数
1
解决办法
4788
查看次数

如何用HTML标签包含每个单词中的第一个字母?

如何用HTML标签包含每个单词中的第一个字母?

例如:

$string = replace_first_word("some simple text",'<big>{L}</big>');
echo $string; //returns: <big>s</big>ome <big>s</big>imple <big>t</big>ext
Run Code Online (Sandbox Code Playgroud)

编辑:哦,忘了提一个重点,它需要使用UTF-8 Unicode ......因为我打算用这个支持俄语和英语.

php replace

3
推荐指数
1
解决办法
931
查看次数

PHP中的类插件?

我在学习PHP时遇到了一些问题,php是否实现了任何内置的插件系统?

所以插件将能够改变核心组件的行为.

例如这样的工作:

include 'core.class.php';
include 'plugin1.class.php';
include 'plugin2.class.php';
new plugin2;
Run Code Online (Sandbox Code Playgroud)

其中core.class.php包含

class core {
  public function coremethod1(){
    echo 'coremethod1';
  }
  public function coremethod2(){
    echo 'coremethod2';
  }
}
Run Code Online (Sandbox Code Playgroud)

plugin1.class.php包含

class plugin1 extends core {
  public function coremethod1(){
    echo 'plugin1method1';
  }
}
Run Code Online (Sandbox Code Playgroud)

plugin2.class.php包含

class plugin2 extends plugin1 {
  public function coremethod2(){
    echo 'plugin2method2';
  }
}
Run Code Online (Sandbox Code Playgroud)

如果不是因为现在插件彼此可靠并且删除其中一个插件的问题,这将是理想的:

include 'core.class.php';
//include 'plugin1.class.php';
include 'plugin2.class.php';
new plugin2;
Run Code Online (Sandbox Code Playgroud)

打破了整个事情......

有没有适当的方法来做到这一点?如果没有,我可以考虑转移到另一个支持这个的语言...

谢谢你的帮助.

编辑: 显然我的理解是缺乏的,所以这里是一个澄清的尝试.

core.class.php包含任何内容......

plugin1.class.php包含任何内容......

plugin2.class.php包含任何内容......

include 'core.class.php';
include 'plugin1.class.php';
include 'plugin2.class.php';
$core = new …
Run Code Online (Sandbox Code Playgroud)

php plugins class

3
推荐指数
2
解决办法
2554
查看次数

将KOI8-R转换为UTF8

我需要将KOI8-R编码的字符串转换为普通的UTF8

php encoding utf-8

3
推荐指数
1
解决办法
1万
查看次数

strtotime和DateTime在解析一年时给出错误的年份

$year = date('Y', strtotime("2012"));
var_dump($year);//returns 2013
Run Code Online (Sandbox Code Playgroud)

这是一个旧的服务器与PHP 5.2和一个新的PHP 5.4

服务器使用strtotime从字符串中获取年份,2012-01-01或者2012-012012

我也尝试使用$dt = new DateTime('2012')然后getTimestamp返回"1374516720",这是"星期一,2013年7月22日18:12:00 GMT"

是什么导致了这个错误?在文档中,它说strtotime只接受年份

我不知道该怎么办...

编辑:

$year = date('Y', strtotime("2012"));
Run Code Online (Sandbox Code Playgroud)

被视为军事时间,当年20:12

php strtotime

3
推荐指数
1
解决办法
2337
查看次数

为什么timezonedb和tzdata之间的亚洲/迪拜时区缩写有所不同?

我正在使用php timezonedb 2017.2.

为什么亚洲/迪拜时区的+4而不是GST?
虽然PHP tzdata内置的默认值返回GST.

$dt = new DateTime('now', new DateTimezone('Asia/Dubai'));
$dt->format('T'); // returns either GST or +04
Run Code Online (Sandbox Code Playgroud)

php -v = PHP 5.5.38(cli)(建于2016年10月25日18:30:32)

php timezone timezonedb

3
推荐指数
1
解决办法
355
查看次数

我在哪里可以找到一个简单的基于JavaScript的HTML语法荧光笔?

我在哪里可以找到一个简单的基于JavaScript的HTML语法荧光笔?
更简单更好,我不需要任何行号或技巧,只需添加颜色.

如果它与dreamweaver颜色相同,那就更好了!

html javascript syntax-highlighting

2
推荐指数
1
解决办法
1079
查看次数

"类型"来自$ _FILES?

当你上传文件时,你可以从$ _FILES文件中获取必要的数据包含文件输入列表,其中每个文件都有一个类似[type]的字段

例如:

Array
(
    [file1] => Array
        (
            [name] => 'MyFile.txt'
            [type] => text/plain  //where does this come from?
            [tmp_name] => /tmp/php/php1h4j1o
            [error] => UPLOAD_ERR_OK
            [size] => 123
        )
)
Run Code Online (Sandbox Code Playgroud)

它来自文件,文件扩展名,还是其他地方?php如何获得类型?[type]来自哪里,我可以相信它是有效的吗?

php security file

2
推荐指数
1
解决办法
147
查看次数