在从旧mysql_*()函数迁移到新PDO类的过程中,我又遇到了一个问题:我有一个下表:
CREATE TABLE `test` (
`Id` tinyint(4) unsigned zerofill NOT NULL,
`UserName` varchar(4) NOT NULL,
`TestDecimal` decimal(6,0) unsigned zerofill DEFAULT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)
注意zerofill'ed Id和TestDecimal字段.
如果我运行以下代码,使用旧mysql_*()函数:
$SqlQuery = "SELECT * FROM test";
$Sql_Result = mysql_query($SqlQuery);
var_dump(mysql_fetch_array($Sql_Result));
Run Code Online (Sandbox Code Playgroud)
我得到以下输出,正确的zerofilled Id列:
array (size=6)
0 => string '0001' (length=4)
'Id' => string '0001' (length=4)
1 => string 'alex' (length=4)
'UserName' => string 'alex' (length=4)
2 => string '000002' (length=6) …Run Code Online (Sandbox Code Playgroud) 我有swiftMailer包的symfony项目.我试图使用NTLM auth通过swiftmailer发送电子邮件.但我还没有找到通过配置捆绑打开NTLM的方法.
经过努力,我找到了解决方案
第一解决方案
current($this->get('mailer')->getTransport()->getExtensionHandlers())
->setAuthenticators([new \Swift_Transport_Esmtp_Auth_NTLMAuthenticator()]);
Run Code Online (Sandbox Code Playgroud)
在config.yml中注释spool
# spool: { type: memory }
Run Code Online (Sandbox Code Playgroud)
但它看起来有点奇怪.
二解决方案
删除SwiftMailer包并直接使用swiftMailer,因为默认情况下会激活ntlm auth类型.
有没有更好的方法来使用NTLM auth类型?
我有一个带库的存储库.它可以成功克隆.
$ git clone file:////remote/repo/library
$ cd library
$ composer validate
./composer.json is valid, but with a few warnings
Run Code Online (Sandbox Code Playgroud)
但似乎这个转座不能通过作曲家包含来使用.
...
"repositories": [
{
"type": "git",
"url": "file:////remote/repo/library"
}]
...
Run Code Online (Sandbox Code Playgroud)
试图安装
$ composer install -vvv
...
Loading composer repositories with package information
Executing command (//remote/repo/library): git show-ref --tags
Executing command (//remote/repo/library): git branch --no-color --no-abbrev -v
Executing command (//remote/repo/library): git branch --no-color
Executing command (//remote/repo/library): git show "master":composer.json
[Composer\Repository\InvalidRepositoryException]
No valid composer.json was found in any branch or tag of …Run Code Online (Sandbox Code Playgroud) 我有$2y$10$zQaDT8hXM4pLmBdwN0xEseda/oKJAQKMKMzUrV8jbs6Epz28BXzBS密码(qwe)的加密值().但是,当我验证我得到错误的结果哈希值.
mysql> select '$2y$10$zQaDT8hXM4pLmBdwN0xEseda/oKJAQKMKMzUrV8jbs6Epz28BXzBS' = encrypt('qwe', '$2y$10$zQaDT8hXM4pLmBdwN0xEseda/oKJAQKMKMzUrV8jbs6Epz28BXzBS') as is_valid;
+----------+
| is_valid |
+----------+
| 0 |
+----------+
select encrypt('qwe', '$2y$10$zQaDT8hXM4pLmBdwN0xEseda/oKJAQKMKMzUrV8jbs6Epz28BXzBS') as hash;
+---------------+
| hash |
+---------------+
| $2tBKnsbV2Szg |
+---------------+
Run Code Online (Sandbox Code Playgroud)
md5 工作良好
mysql> select '$1$$.dCRcHz4ApIYzcA0g/qz3/' = encrypt('qwe', '$1$$.dCRcHz4ApIYzcA0g/qz3/') as is_valid;
+----------+
| is_valid |
+----------+
| 1 |
+----------+
Run Code Online (Sandbox Code Playgroud)
如何添加bcrypt对MySQL的支持?
我想将数据与数据源分开.一个用于数据库交互的类和用于数据操作的类.但是我的方法违反了LSP:preconditions cannot be strengthened in a subtype 并引发了严格的错误:Declaration of DataRepositoryItem::save() should be compatible with DataRepositoryAbstract::save(DataAbstract $data)
class DataAbstract {
}
class DataItem extends DataAbstract {
}
class DataObject extends DataAbstract {
}
abstract class DataRepositoryAbstract {
/** @return DataAbstract */
public function loadOne(){}
/** @return DataAbstract[] */
public function loadAll(){}
public function save(DataAbstract $data){}
}
class DataRepositoryItem extends DataRepositoryAbstract {
/** @return DataItem */
public function loadOne(){}
/** @return DataItem[] */
public function loadAll(){}
public function …Run Code Online (Sandbox Code Playgroud) php oop inheritance liskov-substitution-principle solid-principles
我的代码可能会出错俄语消息.
例如:
??????? ????????? limit
Run Code Online (Sandbox Code Playgroud)
但是error.log包含:
\xd0\x9d\xd0\xb5\xd0\xb2\xd0\xb5\xd1\x80\xd0\xbd\xd0\xbe \xd1\x81\xd0\xbe\xd1\x81\xd1\x82\xd0\xb0\xd0\xb2\xd0\xbb\xd0\xb5\xd0\xbd limit
Run Code Online (Sandbox Code Playgroud)
有没有办法正常读取tailf error.log(有sed或什么)?
或者我如何"告诉"apache不编码utf符号error.log?
我正在研究一些php库.我想跟踪类库接口的变化.
我试图用phpDocumentor比较两个版本.
phpdoc项目:parse -d文件夹
生成具有项目接口结构的xml文件.我可以将此xml文件与另一个文件进行比较.但这些包含的信息比我想要的多.像行号,文件哈希等.
所以,我想比较两个提交,分支甚至分支,并找出它们的接口的差异.
比较示例:http://pastebin.com/1H61dJBT
了解何时更改主要版本也很重要.
进行不兼容的API更改时的MAJOR版本...
我有遗留项目,在不同的情况下有声明和类使用.
我想升级源到现代状态.首先,我想用作曲家自动加载替换传统的自动加载.但是composer不提供不区分大小写的自动加载.
如何使用composer classmap和不敏感的自动加载?
我正在使用PHPUnit和Selenium2服务器.我正在使用PageObject模式.对于页面对象,我获得了webdriver的实例并执行必要的功能.
为了保持单个浏览器运行,我实现了一个粗略的解决方案,我在网络中找到了我在静态类中初始化驱动程序:
class SessionHelper {
public static $first;
}
SessionHelper::$first = 0;
Run Code Online (Sandbox Code Playgroud)
然后在我的测试用例类setup()方法中;
public function setUp(){
if (SessionHelper::$first == 0 )
{
$this->setHost('localhost');
$this->setPort((int)4444);
$this->setBrowser('firefox');
$this->setBrowserUrl('http://domain.com/lucky/web');
$this->shareSession(TRUE);
$this->prepareSession();
SessionHelper::$first = 1 ;
}
}
Run Code Online (Sandbox Code Playgroud)
这样我就可以在一个浏览器中执行所有测试.但是,如果一个测试用例失败; 通过尝试查找不存在的元素,所有其他测试用例都失败并显示消息"Undefined index:browserUrl".如果我更改它以在页面中查找已知元素,它可以正常工作.所以例如;
test_method_1:如果在此测试失败后未找到任何元素,则显示"Undefined index:browserUrl".
如果test_method_1正常,则其他测试将执行,直到另一个测试用例失败.
那么,我可能会得到这个错误的原因是什么?当一个测试用例失败时,我的会话会被销毁吗?
<?php
// include required files form Facebook SDK
require_once( 'Facebook/FacebookSession.php' );
require_once( 'Facebook/FacebookCanvasLoginHelper.php' );
require_once( 'Facebook/FacebookRedirectLoginHelper.php' );
require_once( 'Facebook/FacebookRequest.php' );
require_once( 'Facebook/FacebookResponse.php' );
require_once( 'Facebook/FacebookSDKException.php' );
require_once( 'Facebook/FacebookRequestException.php' );
require_once( 'Facebook/FacebookPermissionException.php' );
require_once( 'Facebook/FacebookOtherException.php' );
require_once( 'Facebook/FacebookAuthorizationException.php' );
require_once( 'Facebook/GraphObject.php' );
require_once( 'Facebook/GraphSessionInfo.php' );
require_once( 'Facebook/GraphUser.php' );
require_once( 'Facebook/GraphLocation.php' );
include ("fns.php");
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookCanvasLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookOtherException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\GraphSessionInfo;
use Facebook\GraphUser;
use Facebook\GraphLocation;
// start …Run Code Online (Sandbox Code Playgroud) php ×9
composer-php ×2
mysql ×2
apache ×1
autoload ×1
bcrypt ×1
canvas ×1
diff ×1
encoding ×1
encryption ×1
facebook ×1
git ×1
inheritance ×1
interface ×1
liskov-substitution-principle ×1
ntlm ×1
oop ×1
pdo ×1
phpunit ×1
swiftmailer ×1
symfony ×1
utf-8 ×1
versioning ×1
windows ×1