疏浚在哪里寻找MySQL套接字的路径(在MAMP上)? [关闭] -- 8 领域 和 drush 领域 drupal 相关 的问题

Where does drush look for the path of the mysql socket (on MAMP)? [closed]


4
vote

问题

中文
关闭。这个问题需要更多聚焦。它目前不接受答案。

想要改进这个问题?更新问题,因此它仅拍摄了一个问题,只有编辑此帖。

关闭 5年前

改善这个问题

drush 6.5.0 8.0.1-dev 通过 brew ,Drush终端命令返回流行的

'pdoException:sqlstate [hy000] [2002]'错误。

使其工作的唯一方法是将Unix_socket行添加到我的Drupal settings.php 文件中我的所有项目:

  $databases = array (   'default' =>   array (     'default' =>     array (       'database' => 'site',       'username' => 'user',       'password' => 'pass',       'host' => 'localhost',       'port' => '',       'driver' => 'mysql',       'prefix' => '',       'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',     ),   ), );   

即使我使用 /var/mysql/mysql.sock ,它将工作,因为我有一个界限:

  lrwxr-xr-x  1 root  wheel    39B Mar 11  2015 /var/mysql/mysql.sock -> /Applications/MAMP/tmp/mysql/mysql.sock   

但这正是我不明白的事情。我想在一个地方配置它,所以我不必编辑所有当前和即将到来的项目的 settings.php 文件。

所以我的问题是:醉酒寻找MySQL套接字的路径(在MAMP上)?

如果它是通过 php.ini ,它也应该是正确的(/pplications/mamp/bin/php/php5.6.10/conf/php.ini):

  mysql.default_socket = /Applications/MAMP/tmp/mysql/mysql.sock   

目前,我的 .bash_profile 不包含与此问题相关的别名或导出,因为它与我之前的苏打安装有关。

英文原文

After upgrading from drush 6.5.0 to 8.0.1-dev through brew, the drush terminal command returns the popular

'PDOException: SQLSTATE[HY000] [2002]' error.

The only way to make it work is to add the unix_socket line to my Drupal settings.php files for all my projects:

$databases = array (   'default' =>   array (     'default' =>     array (       'database' => 'site',       'username' => 'user',       'password' => 'pass',       'host' => 'localhost',       'port' => '',       'driver' => 'mysql',       'prefix' => '',       'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',     ),   ), ); 

Even if I use /var/mysql/mysql.sock, it will work, because I have a symlink up:

lrwxr-xr-x  1 root  wheel    39B Mar 11  2015 /var/mysql/mysql.sock -> /Applications/MAMP/tmp/mysql/mysql.sock 

But that is exactly the thing I don't understand. And I would like to configure it at one point so I don't have to edit all the current and upcoming project's settings.php files.

So my question is: Where does drush look for the path of the mysql socket (on MAMP)?

If it's through the php.ini, it should be correct too (/Applications/MAMP/bin/php/php5.6.10/conf/php.ini):

mysql.default_socket = /Applications/MAMP/tmp/mysql/mysql.sock 

Currently, my .bash_profile contains no alias or export related to this issue because it worked fine with my previous drush installation.

     

回答列表

5
 
vote
vote
最佳答案
 

首先,检查哪个 998876619 function my_module_form_alter(&$form, &$form_state, $form_id) { $form['account']['mail']['#my_theme_wrapper_attributes']['class'][] = 'form-field--inline'; } 0 function my_module_form_alter(&$form, &$form_state, $form_id) { $form['account']['mail']['#my_theme_wrapper_attributes']['class'][] = 'form-field--inline'; } 1

  function my_module_form_alter(&$form, &$form_state, $form_id) {   $form['account']['mail']['#my_theme_wrapper_attributes']['class'][] = 'form-field--inline'; } 2  

然后编辑其本地数据库连接的默认mysql socket name:

  function my_module_form_alter(&$form, &$form_state, $form_id) {   $form['account']['mail']['#my_theme_wrapper_attributes']['class'][] = 'form-field--inline'; } 3  

默认情况下,它指向 function my_module_form_alter(&$form, &$form_state, $form_id) { $form['account']['mail']['#my_theme_wrapper_attributes']['class'][] = 'form-field--inline'; } 4 除非PHP配置不同( 998876625 )。

返回:

  function my_module_form_alter(&$form, &$form_state, $form_id) {   $form['account']['mail']['#my_theme_wrapper_attributes']['class'][] = 'form-field--inline'; } 6  

所以可能这就是为什么 function my_module_form_alter(&$form, &$form_state, $form_id) { $form['account']['mail']['#my_theme_wrapper_attributes']['class'][] = 'form-field--inline'; } 7 不起作用,因为它正在寻找 function my_module_form_alter(&$form, &$form_state, $form_id) { $form['account']['mail']['#my_theme_wrapper_attributes']['class'][] = 'form-field--inline'; } 8 而不是。

然后该符号链接应该正常工作。

如果 function my_module_form_alter(&$form, &$form_state, $form_id) { $form['account']['mail']['#my_theme_wrapper_attributes']['class'][] = 'form-field--inline'; } 9 使用的php实例错误,然后将其添加到 998876630 (正如您所做)或使用 #prefix/#suffix1 指定右 #prefix/#suffix2 将被加载。

或者在您的设置文件中指定 #prefix/#suffix3 (如您已经完成)。

 

First of all, check which php and php.ini file is used by drush:

$ drush status --full  Site URI                        :  http://default                                                                                                            Database driver                 :  mysql                                                                                                                     Database hostname               :  localhost                                                                                                                 Database username               :  root                                                                                                                      Database name                   :  drupal7                                                                                                                    Drupal bootstrap                :  Successful                                                                                                                Drupal user                     :                                                                                                                            PHP executable                  :  /usr/local/opt/php56/bin/php                                                                                              PHP configuration               :  /usr/local/etc/php/5.6/php.ini   

Then edit its default MySQL socket name for local db connects:

pdo_mysql.default_socket=/path/to/mysql.sock 

as by default it points to /tmp/mysql.sock unless PHP was configured with different (--with-mysql-sock).

Check by:

$ php -i | grep ^pdo_mysql.default_socket pdo_mysql.default_socket => /tmp/mysql.sock => /tmp/mysql.sock 

So probably that's why /var/mysql/mysql.sock didn't work, as it was looking for /tmp/mysql.sock instead.

Then the symbolic link should work as expected.

If drush is using wrong instance of PHP, then add it into PATH (as you did) or specify with --php=</path/to/file>, so the right php.ini would be loaded.

Alternatively specify unix_socket in your settings file (as you already did).

 
 
   
   
0
 
vote

找到了解决方案......

  drush status   

显示PHP可执行路径是OSX本机1,然后将其与BREW

安装的PHP符号

将以下行添加到〜/ .bash_profile

  export PATH="/Applications/MAMP/bin/php/php5.6.10/bin:/Applications/MAMP/Library/bin:$PATH"   

使疏浚抬头看进正确的php.ini文件

但对我来说,它仍然是一个令人谜,为什么Symlink

  lrwxr-xr-x  1 root  wheel    39B Mar 11  2015 /var/mysql/mysql.sock -> /Applications/MAMP/tmp/mysql/mysql.sock   

没有做诀窍

 

Found the solution ...

drush status 

shows the PHP executable path was the OSX native one, which was then symlinked to a PHP installed by brew

adding the following line to ~/.bash_profile

export PATH="/Applications/MAMP/bin/php/php5.6.10/bin:/Applications/MAMP/Library/bin:$PATH" 

made drush look up into the correct php.ini file

but to me, it is still a mystery why the symlink

lrwxr-xr-x  1 root  wheel    39B Mar 11  2015 /var/mysql/mysql.sock -> /Applications/MAMP/tmp/mysql/mysql.sock 

did not do the trick

 
 

相关问题

1  视图标签过滤器  ( Views tag filter ) 
我似乎无法让我的标签过滤我打算他们的工作方式。 我想要做什么: 我有一个词汇,通过附加到文章内容类型的标签字段创建。 我有一个内容类型foo,我正在创建一个观点,以列出与foo标题相对应的标记的'文章' 前: 文章类型: 1 - 标签:'yay你' 2-标签:'yay me' foo类型 1 - 标题:'Yay...

4  Drupal 8,可能无法引用图像字段中使用的文件  ( Drupal 8 the file used in the image field may not be referenced ) 
我正在使用托管文件类型以自定义表单上传图像(Drupal-8)。通过使用以下代码,我能够在编辑时检索给定的图像 $form['image_field'] = array( '#type' => 'managed_file', '#title' => t('Image'), '#default_v...

27  在Twig模板中获取前往主题资产的路径  ( Get path to theme assets in twig template ) 
我有一个关于在Twig模板中获取图像的路径的问题。图像未分配给字段或其他东西。只是存储在"mytheme / image / icon / my-icon.png" 中的静态图像。 在Drupal 7中,我将在我的node.template中获取以下代码: <img src="<?php print base_p...

7  如何创建一个简单的表格?  ( How do i create a simple table ) 
我正在研究一个我需要在表中显示内容的模块。虽然我已经创建了一个简单的表,但我需要知道如何使用 theme() ,因为不能直接调用函数。 基本上,相当于以下行,在Drupal 7中完全精细,在Drupal 7? return theme(table,array(header => '$header', rows =...

17  如何将纯文本呈现为模板中的HTML?  ( How can i render plain text as html in a template ) 
我遇到了从纯文本字段中尝试将SVG图像标记代码渲染为HTML。 我希望从纯文本字段中渲染SVG代码,而不覆盖其他地方的纯文本字段呈现。 纯文本格式当前转换所有HTML标记和&lt;&gt;到 &lt; &gt; 。 我创建了一个字段模板,并尝试将字段内容输出为 {{ item.content.context.va...

1  安装模块时将数据库字段创建给现有表  ( Create database fields to an existing table when installing a module ) 
我是德鲁佩尔的新手,我需要一些帮助。 我创建了一个名称 user_extra 的新模块。安装模块时,它会创建才能。 但我也需要在 'users_field_data' 表中插入一些数据库字段( 99887662 和 'user_office' ) 在 baseFieldDefinitions 我写了 user_ext...

0  CSS和JS没有显示  ( Css and js are not showing ) 
我刚刚开始使用Drupal 8,我已经遇到了问题。在我的Info.yml文件中,我添加了库/ IES和我的Libraries.yml是那些包含的文件。当我在admin中清除缓存时,CSS不会在源代码中显示。如果这将是问题,但我甚至清除缓存,但它不是。 这是我的libraries.yml文件 global-styl...

5  在自定义模块中使用图像(不是通过CSS)  ( Using images in custom module not through css ) 
我正在制作一个Flex滑块模块,它需要静态加载一些图像,我能够抓住任何图像的唯一方法是在背景中使用相对路径:URL(相对路径到图像)在CSS文件中,但我对加载CSS不感兴趣。 如果我尝试从模板访问它,使用 <img src="relative-path-to-image"> 它当然不起作用,因为 src 标记正在客户...

0  自定义登录 - > admin  ( Custom login admin ) 
我知道它是可能,但它是可建议的甚至是常识,试图实施第二(自己)登录IE <代码> mysite.com/login2 并访问定制布局(管理页面)的方式,在哪里定制数据来管理我们自己的隐藏事物,没有任何与Drupal Tho相关的数据。 这个原因,我喜欢drupal,我会用它来实现前端发布和管理网站。但事情是我需要某种...

3  如何在Drupal_Root /库中放置库?  ( How to place a library in drupal root libraries ) 
在drupal 8中,当我在 .libraries.yml 文件中声明一个库时,似乎库文件必须位于模块内或主题文件夹中 .libraries.yml 文件。 例如,如果MyModule模块包含此 .libraries.yml 文件: form-alter-css: version: 1.x css: ...

0  拦截节点Drupal 8的字段的数据  ( Intercept data of a field of a node drupal 8 ) 
如何在用户添加节点时拦截字段的数据? 下面是用例: 用户可以在用户提交节点时输入字段中的地址。 Drupal应该对Google地图距离矩阵API进行休息请求。然后应在该节点中发布返回值。我可以找到足够的示例模块,以通过休息从Drupal导出数据,但不是另外的方式。 ...

2  禁用用户登录块  ( Disable user login block ) 
我想我可能会发现一个错误(?) 只有管理员可以在我的网站上创建内容,所以我正在尝试 从首页上删除登录表单,即登录页面 可以在 site/user/login 上访问,但不是在首页上,我尝试了很多东西。 我遵循 我正在使用bartik主题,我已经归结了它,但我几乎没有改变它的东西,基本上只是一个小css。 ,我已经...

3  如何在模态打开的表单中执行操作?  ( How to perform action from form opened in modal ) 
我有一个表单,其中我有一个链接,它与另一个表单打开模态窗口(,如将块添加到区域)。 我想在提交期间对 opened/second/modal 形式的操作进行操作,但我也想告诉当前窗口关闭模态并达到特定按钮(这是ajaxified和它将重建表格,以便通过第二种形式进行的更改将以主形式可见 - 它们基于相同的数据源)。 ...

0  如何检查文章是否从集合中引用?  ( How to check if an article is referenced from a collection ) 
我有一个 collection 内容类型,只是 EntityReferences 到文章的列表。 当我加载 article 时,如何使用 Entity API 检查它是否属于一个或多个集合? 以前我会查询 DB ,但我想知道是否有更惯用的方式? ...

5  EntityQuery Group By子句  ( Entityquery group by clause ) 
使用EntityQuery API,我正在尝试将组逐个子句添加到查询,但是,它似乎并不存在。 EntityQuery API没有GroupBy()方法。 当前代码: $nodes = Drupal::entityQuery('node') ->condition('type', 'thing') ...

1  如何使用简单对象使用di?  ( How to use di with simple objects ) 
我有一个简单的类,我通过构造函数提供一些值,我想使用di。此类与Drupal(不是插件,形式,实体,...)无关。 它用作数据集的包装器,其中我需要通过使用少数服务进行一些数据操作。 我想使用containerInprightface,但它只有create()方法,它看起来不像它可以用于此目的。 D8中的DI可以用...

0  如何获得全额扣核工作?  ( How do i get full ckeditor working ) 
我试图在Drupal 8中获取工作的完整CKEditor,但我只看到标准工具栏。我下载了完整的zip文件并将其解压缩到核心/模块/ ckeditor中,卸载/重新安装CKEditor,但仍然是标准工具栏。 如何启用完整的工具栏? ...

3  使用PHP的现场修改  ( Field modification using php ) 
我有一个包含field_state的内容类型。此内容类型的节点使用Field_State存储每个节点中的状态的两个字母缩写。哦,是俄亥俄州,CA是加州等。我需要使用状态名称的完整拼写呈现此字段。我有一个php阵列,包含我需要的50次映射 - $ state ['ca'] ='加利福尼亚';此数据结构以PHP函数状态...

13  寻找数据库插入示例  ( Looking for database insert example ) 
根据 admin/config/regional/translate/update2 手动页< / a>此功能已弃用,更好地使用Drupal 8数据库连接执行插入。 已弃用 在Drupal 8.0.x中,将在Drupal 9.0.0中删除。相反,得到一个 数据库连接从容器中注入您的服务 调用Insert(...

0  获取数据库INSERT [已关闭]的用户ID  ( Get user id for database insert ) 
关闭。这个问题需要详细信息或清晰度。它目前不接受答案。 想要改进这个问题?添加详细信息并阐明编辑此帖的问题。 关闭 5年前。 ...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.