Project:Support desk/Sections/PHP

From mediawiki.org
This page is no longer used.
Please ask questions on the new support desk.



PHP Error Support

I need to re-index so the search will work.

I try to run the proper scripts and this is what I get. I have version 1.6.10 running on OS X.

ns1:maintenance root# php rebuildtextindex.php

<img src='/images/PetrineSabianismUNC.png' style='float:left;margin-right:1em' alt=>Theosebia has a problem

Sorry! This site is experiencing technical difficulties.

Try waiting a few minutes and reloading.

(Can't contact the database server: Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2) (localhost))

ns1:maintenance root#

Thanks in advance! BJ

Fatal error: Call to undefined method SearchResultTooMany::hasSuggestion()

Fatal error: Call to undefined method SearchResultTooMany::hasSuggestion() in /home/sextant/public_html/en_wiki/includes/specials/SpecialSearch.php on line 938

I'm getting this error message only when I search for a geographic coordinate (which is how my wiki is organized) that has two negative coordinates. For example "-1.111111,-1.111111" returns this error message, while "1.111111,-1.111111" takes me to the appropriate page.

Can someone explain how to fix this?

  • MediaWiki version: 1.15.1
  • PHP version: 5.2.9 (cgi)
  • PostgreSQL version: 8.3.3
  • URL:

The issue is originally from 2009 archives, and it took me a while to solve this this when my wiki broke. There are no other references to this issue in the net, so I'm offering my solution. There seem to be some cases where SQL-operation fails and PostgreSQL-related changes are not applied. These SQL-statements are from PostgreSQL setup script:

ALTER TABLE mediawiki.page ADD titlevector tsvector;

CREATE FUNCTION ts2_page_title() RETURNS TRIGGER LANGUAGE plpgsql AS
$mw$
BEGIN
IF TG_OP = 'INSERT' THEN
  NEW.titlevector = to_tsvector('default',REPLACE(NEW.page_title,'/',' '));
ELSIF NEW.page_title != OLD.page_title THEN
  NEW.titlevector := to_tsvector('default',REPLACE(NEW.page_title,'/',' '));
END IF;
RETURN NEW;
END;
$mw$;

CREATE TRIGGER ts2_page_title BEFORE INSERT OR UPDATE ON mediawiki.page
  FOR EACH ROW EXECUTE PROCEDURE ts2_page_title();

ALTER TABLE mediawiki.pagecontent ADD textvector tsvector;
CREATE FUNCTION ts2_page_text() RETURNS TRIGGER LANGUAGE plpgsql AS
$mw$
BEGIN
IF TG_OP = 'INSERT' THEN
  NEW.textvector = to_tsvector('default',NEW.old_text);
ELSIF NEW.old_text != OLD.old_text THEN
  NEW.textvector := to_tsvector('default',NEW.old_text);
END IF;
RETURN NEW;
END;
$mw$;

CREATE TRIGGER ts2_page_text BEFORE INSERT OR UPDATE ON mediawiki.pagecontent
  FOR EACH ROW EXECUTE PROCEDURE ts2_page_text();

-- These are added by the setup script due to version compatibility issues
-- If using 8.1, we switch from "gin" to "gist"

CREATE INDEX ts2_page_title ON mediawiki.page USING gin(titlevector);
CREATE INDEX ts2_page_text ON mediawiki.pagecontent USING gin(textvector);

PHP T_NAMESPACE error at installation

Hi,

At installation time, I get

Parse error: syntax error, unexpected T_NAMESPACE, expecting T_STRING in /srv/www/htdocs/mediawiki/includes/Namespace.php on line 44

According to FAQs, this is due to old (<5.3) PHP, but I'm running 5.3.2

Thanks, J.

—66.41.120.209 03:22, 17 July 2010 (UTC)Reply

Older versions of MediaWiki don't support PHP 5.3. Because they are also out of support and lack numerous security fixes, you are encouraged to update to 1.15.4 ASAP. Max Semenik 05:54, 17 July 2010 (UTC)Reply

PHP5.3_2 "parameter expected to be a reference" issue , Downgrading to PHP 5.2,

  • MediaWiki version: 

Compiled from the FreeBSD 8 port tree 1.15.4

  • PHP version: 

5.3_2

  • MySQL version: 

PostgreSQL 8.2.17_1

  • URL:

localhost for testing.

Unable to make DLP running on the mediawiki ( nginx ) architecture described above. Any call to a extension function fails on the following error:

Warning: Parameter 3 to ExtDynamicPageList::dplTag() expected to be a reference, value given in /usr/local/www/mediawiki/includes/parser/Parser.php on line 3243

Downgrading to lang/PHP52 solve the issue.

as far as i understand, the bug here: http://bugs.php.net/bug.php?id=50394 has not been fixed.

—77.199.136.200 23:32, 22 July 2010 (UTC)Reply

Mediawiki should have refused to run the installer if the issue was present... Bawolff 07:19, 23 July 2010 (UTC)Reply


What may be the reason to refuse the installation ? it sounds like DPL only is concerned by the issue. Because of the use of arrays as references in functions args ( LanguageGetMagic) ? see http://bugs.php.net/bug.php?id=51174.--77.199.136.200 11:48, 23 July 2010 (UTC)Reply

Storing save_session_path not in the default PHP folder?

  • MediaWiki version:
  • PHP version:
  • MySQL version: 
  • URL:

Since recently me and some of my users (but not all) are gettin the dreaded session loss error. I've tried troubleshooting, but so far to no avail. Is it somehow possible to force a setting in LocalSettings that forces the wiki package to use a local Session folder within it's own folder?

I tried using save_session_path="$IP/sessions";, but that did not see to do the trick.

Any hints would be greatly appreciated.

Thanks :)


—193.163.248.30 09:31, 8 October 2010 (UTC)Reply

PHP fatal error when attempting to upload a file.

  • MediaWiki version: 1.17_0
  • PHP version: 5.3.3
  • MySQL version: 5.0.77
  • URL: NA, Intranet

Hello,

I have been searching around, but nothing so far. My PHP skills are rudimentary at best. Normally when I click on "special pages" or "upload file". The page is blank, I have enabled error reporting, and I get this

Deprecated: Call-time pass-by-reference has been deprecated in /var/www/html/mediawiki/extensions/MultiUpload/SpecialMultipleUpload.php on line 87 Fatal error: Cannot redeclare class UploadForm in /var/www/html/mediawiki/includes/specials/SpecialUpload.php on line 750

This is around 87 on specialmultipleupload

function MultipleUploadForm( &$request ) {

               global $wgMaxUploadFiles;
               // call the parent constructor
               parent::UploadForm(&$request);
               //initialize
               $this->mUploadTempNameArray= $this->mUploadSizeArray= $this->mOnameArray= $this->mUploadError= $this->mDestFileArray = $this->mUploadDescriptionArray = array();
               $this->mShowUploadForm = true;
               $this->mFileIndex = 0;


This is 750 and around in the specialupload

* Sub class of HTMLForm that provides the form section of SpecialUpload
*/

class UploadForm extends HTMLForm {

       protected $mWatch;
       protected $mForReUpload;
       protected $mSessionKey;
       protected $mHideIgnoreWarning;
       protected $mDestWarningAck;
       protected $mDestFile;

—128.135.215.64 15:02, 12 July 2011 (UTC)Reply