phpMyAdmin - Missing parameter

schwuppdiwutz

New Member
Hi Leute,

bin gerade dabei, ein Forum von einem zum anderen Server umzuziehen.
Auf dem alten hebe ich keinen direkten Zugriff zur DB, nur per MyAdmin. Auf dem neuen erhalte ich immer folgende Fehlermeldung, sobald ich zuviele Datensätze auf einmal reinschiebe:

import.php: Missing parameter: import_type (FAQ 2.8)
import.php: Missing parameter: format (FAQ 2.8)

FAQ 2.8 empfiehlt Folgendes:

2.8 I get "Missing parameters" errors, what can I do?

Here are a few points to check:

* In config.inc.php, try to leave the $cfg['PmaAbsoluteUri'] directive empty. See also FAQ 4.7.
* Maybe you have a broken PHP installation or you need to upgrade your Zend Optimizer. See PHP Bugs: #31134: foreach() semantics broken between 4.3.9 and 4.3.10.
* If you are using Hardened PHP with the ini directive varfilter.max_request_variables set to the default (200) or another low value, you could get this error if your table has a high number of columns. Adjust this setting accordingly. (Thanks to Klaus Dorninger for the hint).
* In the php.ini directive arg_separator.input, a value of ";" will cause this error. Replace it with "&;".
* If you are using Hardened-PHP, you might want to increase request limits.
* The directory specified in the php.ini directive session.save_path does not exist or is read-only.

Hab mir die Einstellungen soweit schonmal angesehen, mit dem Hardened PHP Patch kann ich jedoch nichts anfangen. Wo sehe ich, ob der bei mir installiert ist? Woran könnte es sonst liegen?

PS: mySQL Dumper versagt ebenfalls...

Nachtrag 2: in der php.ini gibt es keine Einträge in Richtung "varfilter" -> laut anderem Forum sollten die dort zu finden sein, falls der Patch drauf ist.
 
Last edited by a moderator:
Hallo!
Ich möchte mich hier einfach mal anschließen, da ich ein ähnliches Problem habe!

Kurze Systeminfo: Suse 10.3 + SA24

Soweit funktioniert phpMyAdmin.
Da ich momentan dabei bin die Indices der Datenbank neu bzw. überhaupt zu setzen um die Performance der Datenbank zu verbessern, benötige ich den EXPLAIN Befehl von mySQL.

Vielleicht trägt die Datenbankabfage zur Lösungsfindung bei:

Code:
SELECT COUNT(a.id)
 FROM jos_content AS a
 INNER JOIN jos_content_frontpage AS f ON f.content_id = a.id
 INNER JOIN jos_categories AS cc ON cc.id = a.catid
 INNER JOIN jos_sections AS s ON s.id = a.sectionid
 LEFT JOIN jos_users AS u ON u.id = a.created_by
 LEFT JOIN jos_groups AS g ON a.access = g.id
 WHERE a.state = 1
 AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2008-05-20 11:15' )
 AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2008-05-20 11:15' )
 AND s.published = 1
 AND cc.published = 1;

Hierbei handelt es sich um eine SQL Abfrage des CMS Joomla.

Bei phpMyAdmin gibt es den Link "SQL-Erklären" der folgender Abfrage entsprechen würde:

Code:
EXPLAIN SELECT COUNT(a.id)
 FROM jos_content AS a
 INNER JOIN jos_content_frontpage AS f ON f.content_id = a.id
 INNER JOIN jos_categories AS cc ON cc.id = a.catid
 INNER JOIN jos_sections AS s ON s.id = a.sectionid
 LEFT JOIN jos_users AS u ON u.id = a.created_by
 LEFT JOIN jos_groups AS g ON a.access = g.id
 WHERE a.state = 1
 AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2008-05-20 11:15' )
 AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2008-05-20 11:15' )
 AND s.published = 1
 AND cc.published = 1;

Wenn ich die EXPLAIN Abfrage direkt in phpMyAdmin ausführe funktioniert es. Wenn ich den Link SQL-Erklären verwende funktioniert es nicht.

Das ganze liegt daran, dass ich mit dem Link "SQL-Erklären" die Komplette SQL Abfrage als Parameter übergebe.

In dieser Situation springt Suhosin an:

Code:
suhosin[29834]: ALERT - configured GET variable value length limit exceeded - dropped variable 'sql_query' (attacker 'meineIP', file '/usr/local/sa24/public_html/mysql/import.php')

Soweit alles ok. Bisher habe ich solche Probleme mit der php.ini lösen können. Bei einer Seite von mir war es z.B. nicht möglich (auch Joomla CMS) lange Beiträge zu speichern, da diese als Parameter übergeben werden. Bzw. der "Post" bereich für Suhosin zu groß war.

Folglich habe ich diesen wert für diese Domain in einer php.ini die in der obersten Verzeichnisebene der Domain (srv/www/domain/public_html/) liegt angehoben.
Die geänderten Werte konnten mit einer phpinfo() bestätigt werden.
Danach funktionierte alles wunderbar.

Anders scheint es bei ServerAdmin 24.
Diser liegt in folgendem Verzeichnis
Code:
/usr/local/sa24/public_html/
phpMyAdmin:
Code:
/usr/local/sa24/public_html/mysql

Folglich dachte ich mir, hier genau so zu verfahren. Leider werden die Änderungen die ich in eine php.ini schreibe nicht angenommen. Zur "Sicherheit" habe ich die php.ini in das "root" und in das "mysql" Verzeichnis gelegt.
Php.inis gelten doch "nur" für das entsprechende Verzeichnis? Meine soetwas mal gelesen oder gehört zu haben. Klärt mich bitte auf, falls es anders ist.
Aus phpMyAdmin habe ich die phpinfo aufgerufen. Dieses Script liegt in dem Verzeichnis "mysql". Somit müsste für diesen Bereich ja auch die php.ini Einstellungen gelten.
Wie oben schon erwähnt, werden die Änderungen nicht angezeigt!

Könnt ihr euch das erklären?
Muss die php.ini Konfigurationsmöglichkeit erst in der httpd.conf etc. noch freigegeben werden?

Änderungen in der Globalen suhosin.ini werden übernommen.

Dennoch funktioniert die SQL Abfrage immernoch nicht. Aber das wird an den Werten liegen, die ich global geändert habe.

Vielmehr interessiert es mich, warum ich keine php.ini für den SA24 bzw. phpMyAdmin Bereich anlegen kann?

Gruß,

Gammla
 
Back
Top