- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
目前,我使用 PHP 代码在 cPanel 中创建 MySQL 数据库,然后是 MySQL 用户,然后使用这 4 个 PHP 例程将它们映射到数据库。麻烦的是,每一次在我们认为它与服务器负载相关时,这个脚本都会说它创建了 MySQL、用户和用户->db 映射,但我们在 cPanel 中看不到它。当我们转到 MySQL 命令行时,我们会在那里看到它。 WordPress 无法部署到它——说它无法访问数据库。我们必须转到命令行 MySQL 来删除数据库。当我们在较低的服务器负载下手动运行这些例程时,问题就消失了。问题是,我通常会在问题实际发生一天后才收到回电——所以我看不出发生了什么。我的日志只显示 WordPress 无法部署到 MySQL 数据库。当我去查看时,我没有在 cPanel 中看到它,但在 MySQL 的命令行中看到它。
所以,既然这些套路都是有问题的,我想知道Softaculous是怎么解决这个问题的。因为即使我的脚本失败,Softaculous 仍然可以正常工作。
<?php
class cPanel {
public static function cp_curlData($sRootDomain, $sCpanelUser, $sCpanelPass, $sCpanelPort, $sPostData, $nTimeoutSeconds = 0) {
$sURL = ($sCpanelPort == 2083) ? 'https://' : 'http://';
$sURL .= $sRootDomain . ':' . $sCpanelPort . '/xml-api/cpanel';
$asHeader[0] = 'Authorization: Basic ' . base64_encode($sCpanelUser . ':' . $sCpanelPass) . "\r\n" .
"Content-Type: application/x-www-form-urlencoded\r\n" .
"Content-Length: " . strlen($sPostData) . "\r\n" . "\r\n" . $sPostData;
$hCurl = curl_init ();
curl_setopt($hCurl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1');
curl_setopt($hCurl, CURLOPT_REFERER, 'https://www.google.com/?gws_rd=ssl#q=' . $sURL);
curl_setopt($hCurl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($hCurl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($hCurl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($hCurl, CURLOPT_URL, $sURL);
curl_setopt($hCurl, CURLOPT_HTTPHEADER, $asHeader);
curl_setopt($hCurl, CURLOPT_POST, 1);
if ($nTimeoutSeconds > 0) {
@ curl_setopt($hCurl, CURLOPT_TIMEOUT, $nTimeoutSeconds);
@ curl_setopt($hCurl, CURLOPT_CONNECTTIMEOUT, 30);
}
$s = curl_exec($hCurl);
return $s;
}
public static function cp_createDatabase($sRootDomain, $sCpanelUser, $sCpanelPass, $sCpanelPort, $sUnPrefixedDBName) {
global $gsCpanel_Last_Result;
$sPostData = 'user=' . $sCpanelUser . '&cpanel_xmlapi_module=Mysql&cpanel_xmlapi_func=adddb&cpanel_xmlapi_apiversion=1&arg-0=' . $sUnPrefixedDBName;
$nTimeoutSeconds = 60;
$s = self::cp_curlData($sRootDomain, $sCpanelUser, $sCpanelPass, $sCpanelPort, $sPostData, $nTimeoutSeconds);
$gsCpanel_Last_Result = "$s";
if (strpos($s, '<result>1</result>') > 0) {
$sDBName = $sCpanelUser . '_' . $sUnPrefixedDBName;
return $sDBName;
} else {
return FALSE;
}
}
public static function cp_createDBUser($sRootDomain, $sCpanelUser, $sCpanelPass, $sCpanelPort, $sUnPrefixedDBUser, $sDBPass) {
global $gsCpanel_Last_Result;
$sTest = $sCpanelUser . '_' . $sUnPrefixedDBUser;
if (strlen($sTest)>16) {
$sUnPrefixedDBUser = substr($sUnPrefixedDBUser, 0, (strlen($sUnPrefixedDBUser) - (strlen($sTest) - 16)));
}
$sPostData = 'user=' . $sCpanelUser . '&cpanel_xmlapi_module=Mysql&cpanel_xmlapi_func=adduser&cpanel_xmlapi_apiversion=1&arg-0=' . $sUnPrefixedDBUser . '&arg-1='. $sDBPass;
$s = self::cp_curlData($sRootDomain, $sCpanelUser, $sCpanelPass, $sCpanelPort, $sPostData);
$gsCpanel_Last_Result = "$s";
if (strpos($s, '<result>1</result>') > 0) {
$sDBUser = $sCpanelUser . '_' . $sUnPrefixedDBUser;
return $sDBUser;
} else {
return FALSE;
}
}
public static function cp_addUserToDatabase($sRootDomain, $sCpanelUser, $sCpanelPass, $sCpanelPort, $sUnPrefixedDBName, $sUnPrefixedDBUser) {
global $gsCpanel_Last_Result;
$sPostData = 'user=' . $sCpanelUser . '&cpanel_xmlapi_module=Mysql&cpanel_xmlapi_func=adduserdb&cpanel_xmlapi_apiversion=1&arg-0=' . $sUnPrefixedDBName . '&arg-1=' . $sUnPrefixedDBUser . '&arg-2=all';
$s = self::cp_curlData($sRootDomain, $sCpanelUser, $sCpanelPass, $sCpanelPort, $sPostData);
$gsCpanel_Last_Result = "$s";
return (strpos($s, '<result>1</result>') > 0);
}
} // end class
最佳答案
Softaculous 有一个很棒的 SDK,在这里免费:
http://www.softaculous.com/docs/File:Softaculous_Development_Kit.zip
然后,这段代码应该可以帮助您安装一个使用它的博客。它的速度快得惊人——比 cPanel API 快得多。
<?php
// SOURCE: https://gist.github.com/mickaelandrieu/7271939
require_once('sdk.php');
$new = new Softaculous_API();
$new->login = 'https://user:password@domain.com:2083/frontend/x3/softaculous/index.live.php';
// Domain Name
$data['softdomain'] = 'root-or-addon-domain.com'; // OPTIONAL - By Default the primary domain will be used
// The directory is relative to your domain and should not exist. e.g. To install at http://mydomain/dir/ just type dir. To install only in http://mydomain/ leave this empty.
$data['softdirectory'] = ''; // OPTIONAL - By default it will be installed in the /public_html folder
// Admin Username
$data['admin_username'] = 'admin';
// Admin Pass
$data['admin_pass'] = 'pass';
// Admin Email
$data['admin_email'] = 'admin@domain.com';
// Database
$data['softdb'] = 'wp887'; // make something up that MySQL likes and won't cause a collision
//Database User Name
$data['dbusername'] = 'wp887'; // ditto
// DB User Pass
$data['dbuserpass'] = 'wp887'; // ditto
// Language
$data['language'] = 'en';
// Site Name
$data['site_name'] = 'Wordpess wp887';
// Site Description
$data['site_desc'] = 'WordPress API Test';
// Response
$res = $new->install(26, $data); // Will install WordPress(26 is its script ID)
// Unserialize
$res = unserialize($res);
// Done/Error
if(!empty($res['done'])){
echo 'Installed';
}else{
echo 'Installation Failed<br/>';
if(!empty($res['error'])){
print_r($res['error']);
}
}
关于php - Softaculous如何在cPanel中创建MySQL数据库、用户和user->db映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34212245/
在为 Web 应用程序用例图建模时,为用户可以拥有的每个角色创建一个角色是否更好?或拥有一个角色、用户和一个具有特权的矩阵? guest < 用户 < 版主 < 管理员 1: guest 、用户、版主
我无法使用 Elixir 连接到 Postgres: ** (Mix) The database for PhoenixChat.Repo couldn't be created: FATAL 28P
这个问题已经有答案了: Group by field name in Java (7 个回答) 已关闭 7 年前。 我必须编写一个需要 List 的方法并返回 Map> . User包含 Person
感谢您的帮助,首先我将显示代码: $dotaz = "Select * from customers JOIN contracts where customers.user_id ='".$_SESS
我只想向所有用户中的一个用户显示一个按钮。我尝试了 orderByKey() 但没有成功! 用户模型有 id 成员,我尝试使用 orderByChild("id") 但结果相同! 我什至尝试了以下技巧
我们在工作中从 MongoDB 切换到 Postgres,我正在建立一个 BDR 组。 在这一步,我正在考虑安全性并尽可能锁定。因此,我希望设置一个 replication 用户(角色)并让 BDR
export class UserListComponent implements OnInit{ users; constructor(private userService: UserS
我可以使用 Sonata User Bundle 将 FOS 包集成到 sonata Admin 包中。我的登录功能正常。现在我想添加 FOSUserBundle 中的更改密码等功能到 sonata
在 LinkedIn 中创建新应用程序时,我得到 4 个单独的代码: API key 秘钥 OAuth 用户 token OAuth 用户密码 我在 OAuth 流程中使用前两个。 的目的是什么?最后
所以..我几乎解决了所有问题。但现在我要处理另一个问题。我使用了这个连接字符串: SqlConnection con = new SqlConnection(@"Data Source=.\SQLEX
我有一组“用户”和一组“订单”。我想列出每个 user_id 的所有 order_id。 var users = { 0: { user_id: 111, us
我已经为我的Django应用创建了一个用户模型 class User(Model): """ The Authentication model. This contains the u
我被这个问题困住了,找不到解决方案。寻找一些方向。我正在用 laravel 开发一个新的项目,目前正致力于用户认证。我正在使用 Laravels 5.8 身份验证模块。 对密码恢复 View 做了一些
安装后我正在使用ansible配置几台计算机。 为此,我在机器上本地运行 ansible。安装中的“主要”用户通常具有不同的名称。我想将该用户用于诸如 become_user 之类的变量. “主要”用
我正在尝试制作一个运行 syncdb 的批处理文件来创建一个数据库文件,然后使用用户名“admin”和密码“admin”创建一个 super 用户。 到目前为止我的代码: python manage.
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 6 年前。 Improv
我已在 Azure 数据库服务器上设置异地复制。 服务器上运行的数据库之一具有我通过 SSMS 创建的登录名和用户: https://learn.microsoft.com/en-us/azure/s
我有一个 ionic 2 应用程序,正在使用 native FB Login 来检索名称/图片并将其保存到 NativeStorage。流程是我打开WelcomePage、登录并保存数据。从那里,na
这是我的用户身份验证方法: def user_login(request): if request.method == 'POST': username = request.P
我试图获取来自特定用户的所有推文,但是当我迭代在模板中抛出推文时,我得到“User”对象不可迭代 观看次数 tweets = User.objects.get(username__iexact='us
我是一名优秀的程序员,十分优秀!