小编Son*_*ngo的帖子

Memcached vs APC我应该选择哪一个?

我读了这篇文章:http://www.mysqlperformanceblog.com/2006/09/27/apc-or-memcached/当时..我希望得到最好的缓存引擎,以便我的应用程序非常快.当然我不想过度缓存,但我想至少选择最好的东西.在那篇文章中它说Memcached很慢而且apc很快所以为什么每个人都选择memcached

http://framework.zend.com/manual/en/zend.cache.backends.html#zend.cache.backends.twolevels在这里说"使用快速的(但有限的)像Apc,Memcache ......和a "慢"一个像File,Sqlite ......"你认为使用Apc作为快速和Memcache,因为慢是一个好主意?

php memcached caching apc

160
推荐指数
5
解决办法
10万
查看次数

Mysql覆盖vs复合vs列索引

在以下查询中

SELECT  col1,col2
FROM    table1
WHERE   col3='value1'
  AND   col4='value2'
Run Code Online (Sandbox Code Playgroud)

如果我在col3上有一个单独的索引,而在col4上有另一个索引,那么在这个查询中将使用哪一个?

我在某处读到,对于查询中的每个表,只使用一个索引.这是否意味着查询无法使用这两个索引?

其次,如果我同时使用col3col4创建了一个复合索引,但在WHERE子句中只使用了col3,那么性能会更差吗?例:

SELECT  col1,col2
FROM    table1
WHERE   col3='value1'
Run Code Online (Sandbox Code Playgroud)

最后,在所有情况下使用覆盖索引是否更好?MYISAM和innodb存储引擎有什么不同?

mysql sql indexing composite-index covering-index

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

数据库设计的递归关系

考虑这种情况,我正在尝试为公司建模数据库:

  • 实体:Employees,Managers,Departments.
  • 一个Employee只有1作品DepartmentDepartment可能有许多Employees在它的工作.
  • A Manager可以只管理1个Department,类似的Department可能只有1个Manager.
  • 一个Manager监督很多Employees,但一个Employee只由一个监督Manager.

现在我有两种方法来模拟这个:

第一解决方案

我会考虑Manager实体继承Employee实体,考虑到我将保留管理者独有的数据(例如奖金和状态).

第一解决方案

  • 由于之间的关系Department,并Employee1:N后来我就把这 Department Id作为一个外键Employee表的Works 关系.

  • 由于之间的关系Department,并Manager1:1后来我就把这 Department Id作为一个外键Manager表的Manages 关系.

问题:我如何表示Manager和之间的递归关系Employee


二解决方案:

我认为Manager不需要实体其他Employees …

sql database database-design erd data-modeling

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

Dreamweaver扩展来美化PHP/JavaScript/jQuery代码

我正在寻找一个Dreamweaver扩展来自动美化PHP/JavaScript/jQuery代码.目前,Dreamweaver只能美化HTML和CSS(应用源格式).

任何形式的帮助将不胜感激.

javascript php dreamweaver

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

我应该将存储的Markdown转换为HTML,还是应该只存储HTML?

Markdown似乎比HTML更容易编写和编辑.我见过的所有HTML编辑器都输出了大量不必要的垃圾.Markdown似乎更清洁.

以下是我正在考虑的事项:在数据库中存储markdown,使用PHP Markdown将其转换为HTML ,然后将其输出到Web浏览器.

一个问题是每次请求页面都必须这样做.这似乎有点贵.

这是一个好主意吗?或者有更有效的方法吗?

php markdown

14
推荐指数
2
解决办法
3937
查看次数

连接到MySql时,PHP会忽略ssl证书

使用此处此处的PHP手册中的代码

<?php

$mysqli = mysqli_init();
if (!$mysqli) {
    die('mysqli_init failed');
}

$mysqli->ssl_set('/path/to/client-key.pem',   
                 '/path/to/client-cert.pem',
                 '/path/to/ca-cert.pem',
                  NULL,NULL); //<-- Doesn't matter if the paths are right or wrong

if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {
    die('Setting MYSQLI_INIT_COMMAND failed');
}

if (!$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5)) {
    die('Setting MYSQLI_OPT_CONNECT_TIMEOUT failed');
}

if (!$mysqli->real_connect('xx.xx.xx.xx', 'my_user', 'my_password', 'my_db')) {
    die('Connect Error (' . mysqli_connect_errno() . ') '
            . mysqli_connect_error());
}

echo 'Success... ' . $mysqli->host_info . "\n";

$mysqli->close();
?>
Run Code Online (Sandbox Code Playgroud)

我无法连接到MySql.它给出以下错误:

Message: SQLSTATE[28000] [1045] Access denied …
Run Code Online (Sandbox Code Playgroud)

php mysql ssl openssl ssl-certificate

13
推荐指数
1
解决办法
3991
查看次数

Zend_Mail与邮件正文中的法语字符

我正在尝试Zend_Mail使用以下代码发送邮件:

 function sendMail() {

     $config = array('auth' => 'login',
                'username' => 'UserName',
                'password' => 'Password',
                'port'=>'27');    

    $mail = new Zend_Mail(); 

    $mail->setBodyText($mailBody);

    $mail->setFrom('example@host.com', 'The Company Name');
    $mail->addTo('example@host.com', 'Recipient Name');
    $mail->setSubject('Mail subject');    
    $mail->send(new Zend_Mail_Transport_Smtp('example@server.com', $config));
}
Run Code Online (Sandbox Code Playgroud)

现在的问题是$mailBody有法语字符.例如:

Merci d'avoir passé commande avec Lovre. Voici le récapitulatif de votre commande
Run Code Online (Sandbox Code Playgroud)

当然后查看发送的邮件时,同样的行显示如下:

Merci d'avoir pass? commande avec Lovre. Voici le r?capitulatif de votre commande
Run Code Online (Sandbox Code Playgroud)

口音被问号所取代!我尝试使用编码邮件正文utf8_encode,但问题仍然存在.

注意:使用的文本文件读取正文内容file_get_contents.

php encoding zend-framework zend-mail

10
推荐指数
1
解决办法
5618
查看次数

在MySql数据库中存储序列化对象

我有一个很大的php对象,我想序列化并存储在MySql数据库中.表编码是,UTF-8并且用于保存序列化对象编码的列也是UTF-8.

问题是该对象包含一个包含法语字符的文本字符串.

例如:

Merci d'avoir passé commande avec Lovre. Voici le récapitulatif de votre commande 
Run Code Online (Sandbox Code Playgroud)

当我序列化对象然后再次反序列化它时,字符串被维护并且格式正确.

但是,当我将序列化对象存储到MySql数据库然后再次检索它然后反序列化它时,字符串变为如下所示:

Merci d'avoir passé commande avec Lovre. Voici le récapitulatif de votre commande 
Run Code Online (Sandbox Code Playgroud)

将对象存储在数据库中时出现问题.

笔记:

  • 使用推进ORM存储对象.
  • 列类型是text.
  • 该字符串存储并从html文件中读取.

php mysql encoding propel object-serialization

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

在Zend框架应用程序中记录设计模式

我正在使用Zend Framework构建应用程序.该应用程序需要密集记录代码中的每个操作或功能.

所以我的代码大部分时间都是这样的:

function SendMailsAction(){
      $logger->log('Started sending mails.')
...
...
...Some Code...
...
...

foreach ($mails as $mail){
  try{      
       $logger->log('Trying to send')
       $mail->send()
       $logger->log('Mail sent successfully.')
  }catch(Exception $e){
       $logger->log('Failed to send mail.')
      }      
 }

...
...
...Some Code...
...
...
       $logger->log('Finished sending mails.')
}
Run Code Online (Sandbox Code Playgroud)

有时我甚至必须登录2个表,因此大多数日志记录代码加倍,并且函数开始变得复杂和冗长.

我使用Zend框架Zend_Log进行日志记录,所以我的问题不是日志记录类本身,而是如何将日志记录代码与代码功能本身分开并保持关注点的分离.

有些人建议使用面向方面编程(AOP),但遗憾的是AOP for PHP对我的客户来说是不可接受的,所以我正在寻找面向对象的解决方案或最佳实践.

注意:

只是为了弄清楚我的问题不是如何使用Zend_Log,而是如何将日志记录添加到我的应用程序代码中.

php logging design-patterns zend-framework

9
推荐指数
1
解决办法
1891
查看次数

自动完成foreach中的变量

我有以下代码:

class Orders{
    /**
     *
     * @var Supplier
     */
    private $suppliers; //Array of Supplier

    function loopAllSuppliers(){
        foreach($this->suppliers as $supplier){
            $supplier->/*no suggestion*/ //Can't get the method's to show here

            $this->suppliers->getSupplierName(); //methods in class Supplier show normally here
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

问题很简单.我只是想能够为我的变量声明一个类型,$supplier就像我用它做的那样$suppliers.

笔记:

  • Supplier是一个具有公共方法getSupplierName()的类.
  • 我正在使用Netbeans IDE.

php foreach netbeans autocomplete phpdoc

9
推荐指数
1
解决办法
7396
查看次数