草庐IT

php - 断言 var 是 phpunit 中没有特定字符的非空字符串

我想断言变量是phpunit中的(非空)字符串,但我不想断言该字符串必须匹配任何确切的字符串。例如,我想拉取一个用户名,并确保我成功获得了一些非空的用户名,但我不关心我得到的到底是哪个用户名。我可以很容易地断言它是一个非空变量,或者它是一个与某个字符串完全匹配的字符串,或者断言var是一个没有phpunit帮助的字符串:$this->assertNotEmpty($username);$this->assertSame('myusername',$username);$this->assertTrue(is_string($username));这些都接近我需要的,使用is_strin

Php:$var 和 &$var 有什么区别?

有什么区别foreach($my_arrayas$my_value){}和:foreach($my_arrayas&$my_value){}?我可以请你给我两个真实世界的例子,说明什么时候使用一个,什么时候使用另一个吗? 最佳答案 第一个示例创建值的副本,而第二个示例使用对原始值的引用。所以在第一个foreach运行之后,原始数组仍然没有被触及。在第二个foreach之后,原始数组可能已经被修改,因为它是通过引用处理的。一些nativePHP函数已经以这种方式工作,例如shuffle()重新排列数组的内容。你会注意到这个函数不返回一

php - Laravel chmod(/var/dev/project/storage/oauth-public.key) : Operation failed: Operation not permitted

更新以下软件包后,我收到一个错误,即找不到oauth-public.key文件。Packageoperations:1install,2updates,0removalsUpdatinglaravel/framework(v5.4.27=>v5.4.28):Downloading(100%)Installingdefuse/php-encryption(v2.1.0):Downloading(100%)Updatingleague/oauth2-server(5.1.3=>5.1.4):Downloading(100%)首先我删除了project/storage中的两个oauth-文件

php - 如何解决错误 "[ErrorException] file_get_contents(/var/www/laravel/.env): failed to open stream: No such file or directory"?

我在我的机器上使用Ubuntu14.04。我在文档根目录中安装了composer和laravel即/var/www我还授予了-R777文件夹laravel的权限,该文件夹存在于目录/var/www然后我使用cd/var/www/laravel进入目录laravel并运行以下命令phpartisan我看到了那里有所有可用的命令。然后我输入phpartisankey:generate得到了错误[ErrorException]file_get_contents(/var/www/laravel/.env):failedtoopenstream:Nosuchfileordirectory在这里

php - 连接到 unix :/var/run/php5-fpm. sock 失败。我的设置有什么问题?

我在DigitalOcean上有一个2GB的VPS,我在Debian7下使用NGINX、php-fpm和unix套接字托管WordPress3.9.1。在上周开始显示“502错误网关”错误之前,它一直运行良好。我检查了日志,发现:php5-fpmlogisshowingpm.max_childrenwasreachedandnginxlogisshowingthefollowing:[error]3239#0:*15188connect()tounix:/var/run/php5-fpm.sockfailed(11:Resourcetemporarilyunavailable)whil

php - 为 xdebug 增加 var_display_max_depth

我最近在我的系统上安装了xdebug,并希望将xdebug.vardisplaymax_depth从3增加到10。我该怎么做? 最佳答案 有两种方法可以做到这一点。您也可以在本地和全局范围内编辑此值。本地设置(“本地值”)在您自己的PHP文件中:全局设置(“主值”)在php.ini:首先找到您的php.ini文件。在phpinfo(),你可以从"LoadedConfigurationFile"指令中知道它在哪里。您也可以使用命令提示符/终端找到它:Windows:php--ini|findstr/C:"LoadedConfigura

php - 如何在 Laravel 5 中为 phpunit 指定不同的 .env 文件?

我有一个包含我的数据库连接详细信息的.env文件,这对于Laravel5来说是正常的。我想覆盖这些以进行测试,我可以在phpunit.xml。然而,这样做似乎违背了.env的理念,即不提交环境配置,尤其是密码。是否有可能有类似.env.testing的东西并告诉phpunit.xml从中读取? 最佳答案 您可以覆盖在您的TestCase文件中使用的.env文件,在该文件中启动框架进行测试。更具体:测试/TestCase.php/***Createstheapplication.**@return\Illuminate\Foundat

php - CodeIgniter3 : Why would $_SERVER ['CI_ENV' ] ever be set in the first place?

我看到在他们的默认安装中,他们的index.php有这个:define('ENVIRONMENT',isset($_SERVER['CI_ENV'])?$_SERVER['CI_ENV']:'development');为什么CI_ENV已经设置在$_SERVER数组中? 最佳答案 正如奥利弗所描述的;它是多种环境的特殊用例。在获取代码之前通过.htaccess拆分开发、测试和生产。要配置它:开发(本地主机)SetEnvCI_ENVdevelopment测试(您的本地服务器)SetEnvCI_ENVtesting生产(远程服务器)S

php - 我应该使用 filter_var 来验证电子邮件吗?

我有一个类可以在将每个输入发送到数据库层之前对其进行验证。请注意,我的问题与转义或任何事情无关。我的数据库层将处理SQL注入(inject)问题。我想要做的就是验证电子邮件是否有效,因为稍后该电子邮件可能被用作“发送至”。例如,用户将通过发送到电子邮件的链接恢复对其帐户的访问权限。我读了很多关于filter_var的文章,有很多人反对,也有一些人赞成。将注意力集中在“我只想验证电子邮件,而不是针对数据库或html或XSS或其他任何内容对其进行过滤”,使用filter_var是否存在问题? 最佳答案 是的,你应该这样做。使用标准库验证

PHP return_var 代码?

我正在测试phpexec命令:http://php.net/exec我得到了127的结果代码。我的php代码是:executing'hello':";exec("hello",$output,$result);var_dump($output);print"$result";print"endhello.";print"";print"executing'dir':";exec("dir",$output2,$result2);var_dump($output2);print"$result2";print"enddir.";?>输出是:executing'hello':array(0