MediaWiki 1.27 VisualEditor extension not loading - php

We are running a private MediaWiki server used at our workspace for internal documentation. We recently installed the VisualEditor extension, along with the prerequisite Parsoid (v0.8.0) service and Stunnel (as our wiki is served through HTTPS). However, we are having the issue where the "Edit" tab for the visual editor will appear when a page is loaded, then suddenly disappear after about half a second.
We double checked that the extension settings in LocalSettings.php were properly set to automatically enable the VisualEditor interface, and make it default.
We first looked at the error logs for MediaWiki, as well as Parsoid, and there is nothing out of the ordinary. We made sure that the wiki API was available, and that Parsoid could reach it, and was working. We have also looked at the debug console in the browser for error messages, which was also silent as to the nature of the issue. We have tried all of the listed troubleshooting steps on both the Parsoid and VisualEditor pages, and all of the checks point to the service running without error.
When we inspected the source for the page, we noticed that the html tag had been assigned the class type "ve-not-available", which made us think that the extension was potentially loading (at least enough to assign this class), but that something was preventing it from working properly. It's just that something has left zero footprint in any logs or files that we can find.
We would like to know where to look next to potentially help diagnose the problem.

If I recall correctly, this issue has something to do with the Visual Editor not recognizing the current skin being compatible. Are you using a custom skin?
If so, try adding the following to your LocalSettings.php;
$wgVisualEditorSupportedSkins = ['MySkin'];

Related

Wordpress post/pages not publishing immediately -> missed schedule instead

I experienced strange behaviour of wordpress. Whenever I want to publish a post or page it says "Missed schedule". But I have no intention to schedule. I want to publish something directly.
Some times later (I assume when wp-cron runs) the pages gets published. But this bahaviour is immense problem for me developing the page, as the customizer crashes and is not able to update changes. Usually a "immediately" published post should be published, well, immediately. Never had this issue before on other systems. I do not need the scheduling function at all, but now I am forced to schedule anything?
Setup:
CentOS 7, PHP 7.4, Apache 2.4, MySQL (Fresh Setup of the LAMP Server) Als tried PHP 7.3/MariaDB.
Installation of latest wordpress 5.5.1 without any issues (but also tests with older versions caused the problem)
Check of Servertime vs. Wordpress timezone - everything fine here
Standard Theme adter installation, no plugins active!
Checked the rights for apache user, everything fine (755/644)
Checked the "run wp cron" plugins, but thats not solving the issue.
I assume there is some problem with wp-cron or the db but most probably my server setup is missing some dependency/configuration? (But I tried different Tutorials for installation, so must be something very basic...)
Somehow it seems like nobody every experienced this issue, as I googled for hours... Hopefully sombody with more backend experience can explain whats happening here and how to fix it.
Here is a picutre of how the workflow looks like
If you are publishing without schedule Wordpress will publish it unless something prevents it from happening.
There is a known issue where if you use localhost server may have issues with Gutenberg so for test purpose try https://wordpress.org/plugins/classic-editor/ and see if its fixing it for you. If it does its probably a problem with your server settings preventing the rest api to work or issue with wp-cron.php.
Same problem here with all installations of WP in a VPS.
No useful info on google.
Somebody has find a workarround: change Centos+plesk to Ubuntu+Plesk. This seems to work fine.
I have finally found a solution to the problem. Changing the system is not a useful option for me.
In this forum they explain the problem: here
And it brings us an explanation in the plesk forums: here
It is basically a problem in CentOS7, the UTC file is not valid and this causes problems in publishing changes in WordPress.
The problem is solved by replacing that file "/usr/share/zoneinfo/UTC" with a correct copy (I have taken it from another server with CentOS6).
And everything works correctly.
You don't even need to reboot.

How to see the errors in php code in chrome

My php code is in the hostgator server and since I have to write a few scripts I don't have to install the wamp/lamp server.
I did a bit digging and found extensions namely PHP console. I added it and tested once, it showed me the line number of the errror.
But after a few hours when I tested the extension it is not working anymore for the same script and the same error.
I also tried another popular extension called Xdebug helper. But that also seems to be not working.
To test I have removed a semicolon in my working script and the link is : http://arqamahmad.com/music_app/getmusic.php
PS : I am using a shared hostgator server and I have done my research on the .htaccess and php.ini files. Nothing is helpful. The PHP console extension was the best but there seems to be some problem to that.
Answer : I had to add a php.ini file inside public_http making allowing the php debug mode on then only it the extensions work.
For Firefox, there is FirePHP (http://www.firephp.org/) in combination with Firebug. There is a similar extension for Chrome, but I haven’t tested that (https://github.com/itsgoingd/clockwork-chrome).
The general thing is that you need to somehow transfer your error messages from PHP back to the client. If you don’t want to use a browser extension for that, you can also use an approach chosen by many frameworks (e.g. Symfony): add an admin module in your page, where the error messages are displayed (you need to intercept errors on the servers for that, by registering a custom error handler).
Edit: This of course requires PHP to output error messages at all, which depends on (among others) the php.ini settings like error_reporting, which need to be set to a level that the errors you desire for reporting will trigger the error handler functions.
Concerning your remark about Xdebug: to use Xdebug helper, Xdebug (a PHP extension for debugging) needs to be available on the server, which it usually is not on production systems.
Since php is executed on the server side, no browser add-on will help you. You need to add a few lines of code to the php file to show the errors.
Here's a link for you: https://stackoverflow.com/a/21429652/6735510

Php application moved to another server Windows 2012 with IIS 7, but not working

I have been asked to move a PHP application to another environment. I set up PHP installation, and moved 2 PHP applications and. got that working.
But one application I moved is not working... it just renders a blank screen.
When I say Localhost/ApplicationName, it lists the application folders and PHP files in it. When I click on it, the browser goes blank.
Can somebody point out a step-by step trouble shooting ways to test this?
there are a lot of ways a php file can return a blank page
first make sure the file did work on the previous environment, if it didn't then it's a different issue entirely
do the following in order of what you suspect to be most probable:
you can go into the php.ini file, and set the error variables to the development defaults, then check if it returns any usable errors
^this is what I use all the time for fatal issues, always set it back to it's original afterwards though
or check the errorlogs, as JimL suggested
if it worked on the previous env then you need to find out what the differences are between both environments.
things like, php.ini setting, IIS vs apache or whatever http server, linux vs windows
check if any of the php pages return anything at all (for example, in firefox, rightclick+inspect element, then use the network tab)
if it's a 500 error, the file probably has an error (and the server is configured to return 500 on an error)
if the file isn't too large, you can go through the file and use common programming sense to see if you can easily spot the error (stuff like links to nonexisting files, etc, shouldn't be too hard even without php experience)
when it links to files, also check if the notation is correct for the windows IIS
feel free to give more information in your OP, or in a comment, if you find out any information, and I'll do my best to help
disclaimer, I have no specific IIS knowledge, I work with apache (both windows and linux)

Cannot Seem to get php.ini to Work - AppEngine

I can't seem to get the Google App Engine to recognize my php.ini custom file as documented here.
I'm getting the error (within the logs of my app) where php_sapi_name() is disabled for security reasons by Google. However, it also states it can re-enabled with google_app_engine.enable_functions.
So my php.ini looks like this:
;enables function disabled by Google
google_app_engine.enable_functions = "php_sapi_name, php_uname"
Yet even after I add and upload the php.ini file, it shows the same error for newer requests. I did also browse my code through the App Engine dashboard to check to see whether the php.ini file was updated, and it was.
Any pointers would be much appreciated.
Depending on how you upload, there is a chance that this creates a new Application version for your specific app.
If it does this, you won't see the change, because the default version won't change, so you're still hitting the old version, even if the console shows you the most recent one.
Going to your console, under "Compute Engine -> App Engine -> Versions" you can see, manage, and change your default version.

phpinfo() returns blank page in Firefox and asks whether to open or save in IE

I'm trying to update a site that's using php. I built the site and tested it on this machine. But today, the Php won't run on my local machine.
To test, I went back to the most basic php page I have:
<?php
phpinfo();
?>
When I navigate to this file, in Firefox (28), the result is a blank page. (The page source shows just my code.) In IE 11, I'm asking whether I want to open or save the file.
Searching for my original problem (which was that my php code was showing up rather than running), it was suggested that php wasn't installed. I don't know how it would have gotten uninstalled, but I went ahead and installed it again (from http://www.microsoft.com/web/platform/phponwindows.aspx) and still no joy.
Windows 7 SP1
Updates in response to suggestions:
Pardon the beginning stuff, but I'm not primarily a web developer. (I do databases.) This is stuff I'm doing for an organization I'm involved in. I don't actually remember having installed/configured a web server in the first place, nor do I remember having installed php before yesterday (though maybe my son did that for me).
After seeing the replies here, I followed the instructions on this page: http://webmasterjuice.com/how-to-activate-built-in-web-server-windows, but I'm still seeing the same thing.
Update:
I've confirmed that IIS is running and the php was installed. I've followed instructions I found online for getting php working in Windows 7 with IIS. However, it still doesn't make sense to me to have to do this. I'm sure I didn't do any of this when I started working with php. I'm not trying to use my computer as a web server. No interest in working through localhost.
I'm creating the file in a simple web-oriented editor (Crimson Editor). Until recently, I could use the editor's preview function on a file, whether HTML or PHP, and it would run correctly. I'm baffled as to why this stopped working.
A few things to look for:
It's php running besides been installed? (obvious, but maybe it got killed by some reason)
Have you included the phpinfo() call inside a html document?
Obviously you named the file with a .php extension and saved it within the document root of the server..?

Categories