我正在我的本地开发服务器上使用MAMP在我的laravel应用程序上,我正在试图弄清楚如何安全地设置我的服务器,所以我不必将以下内容用于数据库连接mysql数组,因为这应该只当我在我的开发服务器上时使用.当我将行添加到mysql数组中时,它会起作用,但是如果我在生产服务器上则不会使用它.有任何想法吗?
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
Run Code Online (Sandbox Code Playgroud)
.env.development.php
<?php
return [
'DB_HOST' => '127.0.0.1',
'DB_USERNAME' => 'root',
'DB_PASSWORD' => '1234',
'DB_NAME' => 'mytable'
];
Run Code Online (Sandbox Code Playgroud)
应用程序/配置/ database.php中
'connections' => array(
'mysql' => array(
'driver' => 'mysql',
'host' => getenv('DB_HOST'),
'database' => getenv('DB_NAME'),
'username' => getenv('DB_USERNAME'),
'password' => getenv('DB_PASSWORD'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
Run Code Online (Sandbox Code Playgroud) 我最初在Laravel 4.2中开发我的应用程序,但后来决定将其移至5.0版本,以便它涵盖了5.0超过4.2的更多变化和优势.
我试图运行我的migratiosn然而我收到错误:
[PDOException]
SQLSTATE[HY000] [2002] No such file or directory
Run Code Online (Sandbox Code Playgroud)
我调查了这个,并注意到它是怎么回事,因为我正在为我的服务器而不是流浪汉和宅基地运行MAMP.我并没有敲开那两个人的用途,但我在这一点上对MAMP感觉更舒服,直到它让我失望.我知道它的MAMP的原因是因为需要声明要使用的unix socket值.
现在,在我的4.2版本的应用程序中,我有以下内容:
'mysql' => array(
'driver' => 'mysql',
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
'host' => getenv('DB_HOST'),
...
),
Run Code Online (Sandbox Code Playgroud)
使用我的Laravel 5.0版本,我正在使用.env文件作为我的环境变量,并且不确定我需要如何执行此操作以便它知道使用unix套接字值.
罐头有人告诉我如何将其应用到新版本或更好的方式将其添加到设置中,以便我不必这样做?
我已将PushChatServer目录放在htdocs文件夹中并创建数据库puschat尝试运行@" http://localhost/PushChatServer/api/test/database.php "
然后我得到了以下异常.
我想做同样的事来解释这个链接http://www.raywenderlich.com/32963/apple-push-notification-services-in-ios-6-tutorial-part-2
我做了所有这些,但我得到了这个例外
无法连接到数据库.原因:异常'PDOException',消息'SQLSTATE [HY000] [2002]没有这样的文件或目录'在/Applications/MAMP/htdocs/PushChatServer/api/test/database.php:17堆栈跟踪:#0/Applications/MAMP /htdocs/PushChatServer/api/test/database.php(17):PDO - > __ construct('mysql:host = loca ...','root','root',Array)#1 {main}
当我编写 php artisan migrate 命令时,我看到了这样的内容:-
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: No such host is known. (SQL: select * from information_schema.tables where table_schema = crudtwo and table_name = migrations and table_type = 'BASE TABLE')
674? // If an exception occurs when attempting to run a query, we'll format the error
675? // message to include the bindings with SQL, which will make this exception a
676? // lot more helpful to the developer instead of just the database's errors.
677? catch …Run Code Online (Sandbox Code Playgroud)