Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过PHP从命令提示符运行wordpress代码_Php_Wordpress_Command Line - Fatal编程技术网

通过PHP从命令提示符运行wordpress代码

通过PHP从命令提示符运行wordpress代码,php,wordpress,command-line,Php,Wordpress,Command Line,我需要从命令行运行自定义WP脚本:php myscript.php 不管我做什么都不行。我得到这个信息: 建立数据库连接时出错 我试过了 define('DOING_AJAX', true); define('WP_USE_THEMES', false); $_SERVER = array( "HTTP_HOST" => "mysite.com", "SERVER_NAME" => "mysite.com", "REQUEST_URI" => "/mys

我需要从命令行运行自定义WP脚本:php myscript.php 不管我做什么都不行。我得到这个信息:

建立数据库连接时出错

我试过了

define('DOING_AJAX', true);
define('WP_USE_THEMES', false);
$_SERVER = array(
    "HTTP_HOST" => "mysite.com",
    "SERVER_NAME" => "mysite.com",
    "REQUEST_URI" => "/myscript.php",
    "REQUEST_METHOD" => "GET"
);
require_once('wp-load.php');
提到了,但不起作用。我设置的所有服务器变量都正常,我从浏览器中启动的网页复制了整个$\u服务器变量(它在那里工作)

我的工作目录是WP安装的根目录,因此我只需使用:php myscript.php 从命令行。 我尝试了网上提到的其他几个代码,但没有一个对我有效。 e、 g具有以下特征的人:

define('WP_USE_THEMES', false);
require('wp-blog-header.php');
始终显示相同的消息:建立数据库连接时出错 正如我在网络浏览器中所说,它工作正常

这是从php cli使用的php.ini中提取mysql字符串:

Configure Command =>  '/var/tmp/apache_mod_php/apache_mod_php-53.3.1~2/php/configure'  '--prefix=/usr' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-dependency-tracking' '--sysconfdir=/private/etc' '--with-apxs2=/usr/sbin/apxs' '--enable-cli' '--with-config-file-path=/etc' '--with-libxml-dir=/usr' '--with-openssl=/usr' '--with-kerberos=/usr' '--with-zlib=/usr' '--enable-bcmath' '--with-bz2=/usr' '--enable-calendar' '--with-curl=/usr' '--enable-exif' '--enable-ftp' '--with-gd' '--with-jpeg-dir=/BinaryCache/apache_mod_php/apache_mod_php-53.3.1~2/Root/usr/local' '--with-png-dir=/BinaryCache/apache_mod_php/apache_mod_php-53.3.1~2/Root/usr/local' '--enable-gd-native-ttf' '--with-ldap=/usr' '--with-ldap-sasl=/usr' '--enable-mbstring' '--enable-mbregex' '--with-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-mysql-sock=/var/mysql/mysql.sock' '--with-iodbc=/usr' '--enable-shmop' '--with-snmp=/usr' '--enable-soap' '--enable-sockets' '--enable-sysvmsg' '--enable-sysvsem' '--enable-sysvshm' '--with-xmlrpc' '--with-iconv-dir=/usr' '--with-xsl=/usr' '--enable-zend-multibyte' '--enable-zip' '--with-pcre-regex=/usr'
mysql
Client API version => mysqlnd 5.0.7-dev - 091210 - $Revision: 300533 $
mysql.allow_local_infile => On => On
mysql.allow_persistent => On => On
mysql.connect_timeout => 60 => 60
mysql.default_host => no value => no value
mysql.default_password => no value => no value
mysql.default_port => no value => no value
mysql.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock
mysql.default_user => no value => no value
mysql.max_links => Unlimited => Unlimited
mysql.max_persistent => Unlimited => Unlimited
mysql.trace_mode => Off => Off
mysqli
Client API library version => mysqlnd 5.0.7-dev - 091210 - $Revision: 300533 $
mysqli.allow_local_infile => On => On
mysqli.allow_persistent => On => On
mysqli.default_host => no value => no value
mysqli.default_port => 3306 => 3306
mysqli.default_pw => no value => no value
mysqli.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock
mysqli.default_user => no value => no value
mysqli.max_links => Unlimited => Unlimited
mysqli.max_persistent => Unlimited => Unlimited
mysqli.reconnect => Off => Off
mysqlnd
mysqlnd => enabled
Version => mysqlnd 5.0.7-dev - 091210 - $Revision: 300533 $
PDO drivers => mysql, sqlite, sqlite2
pdo_mysql
Client API version => mysqlnd 5.0.7-dev - 091210 - $Revision: 300533 $
pdo_mysql.default_socket => /var/mysql/mysql.sock => /var/mysql/mysql.sock

对于此类问题,首先要做的是:

  • 检查错误日志以获取有关错误的更多信息
  • 检查php cli conf

由于您是从本地环境执行此命令,您的mysql服务器可能不接受来自外部的连接。

对于此类问题,首先要做的是:

  • 检查错误日志以获取有关错误的更多信息
  • 检查php cli conf
由于您是从本地环境执行此命令,您的mysql服务器可能不接受来自外部的连接。

正常工作:

sudo ln-s/Applications/MAMP/tmp/mysql/mysql.sock/var/mysql/mysql.sock

PHP CLI使用的套接字路径错误,无法正常工作:

sudo ln-s/Applications/MAMP/tmp/mysql/mysql.sock/var/mysql/mysql.sock


PHP CLI使用的套接字路径是错误的,秘密在于您为WP使用的常量定义了相同的名称。更改
DB\u用户/DB\u密码/DB\u主机
一切都会正常:D (天哪,我花了两个小时才找到“虫子”)


干杯

秘密在于您为WP使用的常量定义了相同的名称。更改
DB\u用户/DB\u密码/DB\u主机
一切都会正常:D (天哪,我花了两个小时才找到“虫子”)


干杯

您正在使用PHP的cli版本。是否启用了MySQL?php-ver PHP5.3.3(cli)(构建时间:2010年8月22日19:41:55)版权所有(c)1997-2010 php组Zend Engine v2.3.0,版权所有(c)1998-2010 Zend Technologies+1 keatch,检查是否为cli启用了MySQL扩展。还要检查错误日志。你在服务器上执行这个命令吗?如果不是,可能是您的mysql服务器不接受来自外部的连接。除此之外,如果您的脚本在web服务器上工作,为什么不这样使用它呢?我编辑了文章并添加了php cli使用的php.ini提取。似乎对我是有利的。我不想通过wget或curl直接通过php使用它,您使用的是php的cli版本。是否启用了MySQL?php-ver PHP5.3.3(cli)(构建时间:2010年8月22日19:41:55)版权所有(c)1997-2010 php组Zend Engine v2.3.0,版权所有(c)1998-2010 Zend Technologies+1 keatch,检查是否为cli启用了MySQL扩展。还要检查错误日志。你在服务器上执行这个命令吗?如果不是,可能是您的mysql服务器不接受来自外部的连接。除此之外,如果您的脚本在web服务器上工作,为什么不这样使用它呢?我编辑了文章并添加了php cli使用的php.ini提取。似乎对我是有利的。我不想通过wget或curl直接通过php使用它。让它工作:sudo ln-s/Applications/MAMP/tmp/mysql/mysql.sock/var/mysql/mysql.sock这是php CLI使用的套接字的错误路径让它工作:sudo ln-s/Applications/MAMP/tmp/mysql/mysql.sock/var/mysql/mysql.sock这是php CLI使用的套接字的错误路径