因此,我一直在编写嵌入式php脚本来解决作为自由职业者处理的常见托管问题。我不是WordPress专家,对php还是很陌生,所以请记住这一点。最常见和常见的问题之一是与WordPress插件(更新)有关的500个问题。我目前拥有的东西可以通过重命名文件夹来正常工作,但是如果您在wp-admin中,则会创建错误,而不是解决错误。
我的目标是通过db连接或者通过php或wp重写它,同时保持通过将$ WP_500更改为false来恢复一切的功能。目标的部分原因还在于,我以后可以重写它以对drupal,joomla等执行类似的操作。
我怀疑最后一部分可能要求我使用sql语句或WP的API(例如get_option('active_plugins');
来获取存储在active_plugins中的字符串,就像完成here一样,然后将其存储在.txt中(这不是100%如何使用php),请使用类似a:0:{}
的方法更新数据库,然后清除它,然后测试该站点。如果不固定,请将$ WP_500更改为false,重新运行脚本,现在获取.txt中的值以更新数据库。
这是我目前拥有的:
/**
* Settings
*/
$WP_500 = true;
$WP_AC = ".htaccess";
$WP_WC = "wp-content";
$WP_mu = $WP_WC."mu-plugins";
$WP_obj_c = $WP_WC."/object-cache.php";
// current time
echo "Begin the 500 error test...";
/**
* Disable the .htaccess file, plugin folder, mu_plugins && cache
*/
if ( $WP_500 === true ) {
echo (file_exists($WP_AC)) ? rename($WP_AC, $WP_AC.".bad"): "access file !exist||renamed...";
echo (file_exists($WP_WC."/plugins")) ? rename($WP_WC."/plugins", $WP_WC."/plugins"."-bad"):"plugin folder !exist||renamed...";
echo (file_exists($WP_mu)) ? rename($WP_mu, $WP_mu."-bad"):"mu-plugin folder !exist||renamed...";
echo (file_exists($WP_obj_c)) ? rename($WP_obj_c, $WP_obj_c.".bad"):"cache !exist||renamed...";
}
/**
* This will undo everything and then remove the test file
*/
if (!$WP_500 ) {
echo (file_exists($WP_AC.".bad")) ? rename($WP_AC.".bad",$WP_AC): "access.bad file !exist||renamed...";
echo (file_exists($WP_WC."/plugins-bad")) ? rename($WP_WC."/plugins-bad", $WP_WC."/plugins"):"plugin-bad !exist||renamed...";
echo (file_exists($WP_mu."-bad")) ? rename($WP_mu."-bad", $WP_mu):"mu-plugin folder !exist||renamed...";
echo (file_exists($WP_obj_c.".bad")) ? rename($WP_obj_c.".bad", $WP_obj_c):"cache !exist||renamed...";
unlink('WP_500.php');
}
?>
作为旁注,我还使用$conn = new mysqli($servername, $username, $password)
和其他php选项,当前正在研究在define方法中从wp-config.php
获取$ username,$ password的值,希望更有效地指出正确的方向,超越Google的范围。