3.0.3 - Control Panel message in Apache log

74 views
Skip to first unread message

bigg...@gmail.com

unread,
Feb 14, 2023, 2:39:43 PM2/14/23
to Xataface
Running on Linux, with Apache 2.5.4, PHP 8.1.5.  

Just downloaded and shoved 3.0.3 on my test server. Same database and application that was (is!) running on the old 2.4.3 Xataface (old PHP 7, internal server, updating now). 

Entry in the Apache error log is puzzling...have modified the path to use the new 3.0.3 software, and get this:

Exception: Illegal extends.  Parent not found: control_panel from rule: control_panel > control_panel in /some/path/actions.ini in /some/path/xataface-3.0.3/Dataface/ConfigTool.php:305\nStack trace:\n#0 /some/path/xataface-3.0.3/Dataface/ConfigTool.php(74): Dataface_ConfigTool->loadConfigFromINI()\n#1 /some/path/xataface-3.0.3/Dataface/Table.php(6163): Dataface_ConfigTool->loadConfig()\n#2 /some/path/xataface-3.0.3/Dataface/ActionTool.php(82): Dataface_Table->getActions()\n#3 /some/path/xataface-3.0.3/Dataface/ActionTool.php(98): Dataface_ActionTool->_loadTableActions()\n#4 /some/path/xataface-3.0.3/Dataface/Application.php(3513): Dataface_ActionTool->getAction()\n#5 /some/path/xataface-3.0.3/Dataface/Application.php(3874): Dataface_Application->handleRequest()\n#6 /some/path/xataface-3.0.3/Dataface/Application.php(3743): Dataface_Application->_display()\n#7 /some/path/index.php(33): Dataface_Application->display()\n#8 {main}

(sanitized path names). Checked permissions and everything I can think of. Other PHP stuff is churning through just fine, and database is up and working. Only my xataface interface is dead. 

Any ideas would be most welcome.

bigg...@gmail.com

unread,
Feb 17, 2023, 2:43:00 PM2/17/23
to Xataface
Update: Tried running (from a blank, new directory in the webroot) the makesite command, and received this:

Fatal error: Array and string offset access syntax with curly braces is no longer supported in /some/path/xataface-3.0.3/makesite on line 161

I'm running PHP 8.1.5, and according to the Github page, xataface should work with PHP8, which has the curly braces deprecated. What gives? 


Steve Hannah

unread,
Feb 17, 2023, 6:42:01 PM2/17/23
to xata...@googlegroups.com
Xataface should work with php 8.  The makesite script may need some updates though

--
You received this message because you are subscribed to the Google Groups "Xataface" group.
To unsubscribe from this group and stop receiving emails from it, send an email to xataface+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/xataface/0fbd981a-50b1-4923-8326-dc9b5ddd8545n%40googlegroups.com.
--
Steve Hannah
Web Lite Solutions Corp.

bigg...@gmail.com

unread,
Feb 19, 2023, 1:37:25 PM2/19/23
to Xataface
Indeed, it should work with PHP 8, but the initial error I got above is puzzling. The control panel? Illegal extends?  It's not a resources issue on the
server, but I can't get ANYTHING to come up Xataface wise. The entire platform working on the old xataface/server is ticking over perfectly, using
the modules/scripts, etc. 

Can't get past the illegal extends error. See nothing in my PHP error logs either. Just plain stuck. Using the latest OpenSUSE tumbleweed/apache/mysql. 

bigg...@gmail.com

unread,
Feb 19, 2023, 1:38:05 PM2/19/23
to Xataface
Also, tried xataface 3.0.0 too, and get the same thing. 

Steve Hannah

unread,
Feb 19, 2023, 1:40:32 PM2/19/23
to xata...@googlegroups.com
Check your actions.ini file for a control_panel action definition.  

bigg...@gmail.com

unread,
Feb 20, 2023, 10:37:03 AM2/20/23
to Xataface
I did, and it's there, same as it was on the older version. Exactly as this:

[control_panel > control_panel]
category=""

Have tried setting it to "none" as well, and removing the section gives me:

Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /some/path/xataface-3.0.3/Dataface/Table.php on line 879

Steve Hannah

unread,
Feb 20, 2023, 10:55:17 AM2/20/23
to xata...@googlegroups.com
Removing it was the right thing to do.
I have just committed a small fix to master to fix that deprecation warning.  You may want to either disable deprecation warnings or have them go to the log (best practice anyways) rather than outputting to the browser.

bigg...@gmail.com

unread,
Feb 20, 2023, 1:03:42 PM2/20/23
to Xataface
Thanks! Cloned the repository, and am getting a different error now;

Deprecated: Function strftime() is deprecated in /some/path/xataface-3.0.3/lib/Smarty/Smarty_Compiler.class.php on line 407

I am logging stuff, but that message is a bit more concise. Have in php.ini:

error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_STRICT


Steve Hannah

unread,
Feb 20, 2023, 1:09:37 PM2/20/23
to xata...@googlegroups.com
Yeah.  strftime deprecated in 8.1.  It will be trickier to fix as they don't seem to provide a compatible alternative.

Aside from that, your php ini rule either isn't being picked up or is being overridden somewhere, otherwise the deprecation warning wouldn't appear.

bigg...@gmail.com

unread,
Feb 20, 2023, 3:28:00 PM2/20/23
to Xataface
Stupid mistake (new server install, big surprise I know...), and resolved. Things getting logged correctly, but now that warning just comes up in the php error log. 

So I'm still stuck.

bigg...@gmail.com

unread,
Mar 2, 2023, 1:13:45 PM3/2/23
to Xataface
Any thoughts on moving past that strftime message in smarty_compiler_class?

bigg...@gmail.com

unread,
Mar 9, 2023, 2:07:50 PM3/9/23
to Xataface
Still absolutely stuck, and if anyone can help I'd truly appreciate it.

Edited Smarty_Compiler.class.php, and modified line 407 (commented one out, edited below):

// $template_header = "<?php /* Smarty version ".$this->_version.", created on ".strftime("%Y-%m-%d %H:%M:%S")."\n";
$template_header = "<?php /* Smarty version ".$this->_version.", created today \n";

Don't get the strftime error any longer, but get NOTHING now. Plain white screen....nothing else. Nothing in PHP errors, 
on page, or in the Apache error logs. Database is up,
and I get nothing in the syslogs either. Using opensuse tumbleweed, 8.1 PHP, 3.0.3 of xataface, trying to migrate to new server which was on php7 and 2.4.3 xataface.

Steve Hannah

unread,
Mar 9, 2023, 2:10:01 PM3/9/23
to xata...@googlegroups.com
Add "debug=1" to the beginning of your conf.ini file and see if that drums up any error messages.

bigg...@gmail.com

unread,
Mar 10, 2023, 11:11:12 AM3/10/23
to Xataface
And that it did:

Warning: Undefined array key "-relationship" in /some/path/xataface-3.0.3/Dataface/Application.php(4202) : eval()'d code on line 1
Warning: Undefined array key "-relationship" in /some/path/xataface-3.0.3/Dataface/Application.php(4202) : eval()'d code on line 1
Warning: Undefined array key "record_id" in /some/path/xataface-3.0.3/Dataface/Application.php(4077) : eval()'d code on line 1
Warning: Undefined array key "history" in /some/path/xataface-3.0.3/Dataface/Application.php(4202) : eval()'d code on line 1
Warning: Undefined array key "allow_register" in /some/path/xataface-3.0.3/Dataface/Application.php(4202) : eval()'d code on line 1
Warning: Undefined array key "_output_cache" in /some/path/xataface-3.0.3/Dataface/Application.php(4202) : eval()'d code on line 1
Warning: Undefined array key "-relationship" in /some/path/xataface-3.0.3/Dataface/Application.php(4202) : eval()'d code on line 1
Deprecated: urlencode(): Passing null to parameter #1 ($string) of type string is deprecated in /some/path/xataface-3.0.3/Dataface/PermissionsTool.php on line 960
Deprecated: urlencode(): Passing null to parameter #1 ($string) of type string is deprecated in /some/path/xataface-3.0.3/Dataface/PermissionsTool.php on line 935
Warning: Undefined array key "-relationship" in /some/path/xataface-3.0.3/Dataface/Application.php(4202) : eval()'d code on line 1
Deprecated: urlencode(): Passing null to parameter #1 ($string) of type string is deprecated in /some/path/xataface-3.0.3/Dataface/PermissionsTool.php on line 960
Deprecated: urlencode(): Passing null to parameter #1 ($string) of type string is deprecated in /some/path/xataface-3.0.3/Dataface/PermissionsTool.php on line 935

Steve Hannah

unread,
Mar 10, 2023, 3:19:14 PM3/10/23
to xata...@googlegroups.com

Unfortunately those are just warnings.  nothing that would stop execution.

bigg...@gmail.com

unread,
Mar 17, 2023, 10:41:21 AM3/17/23
to Xataface
Ok, tried with PHP 8.0, and still no joy. Totally white screen, no errors in the PHP logs at all. Just the same messages as posted above. 

Steve Hannah

unread,
Mar 17, 2023, 11:39:30 AM3/17/23
to xata...@googlegroups.com
I just tried installing a couple of apps with XAMPP/PHP 8.1 and it seems to work OK.

I'm working off of master.

Try creating a "hello world" app and see it if works for you. Expand on that to help identify where the problems start to arise.

bigg...@gmail.com

unread,
Mar 21, 2023, 11:39:30 AM3/21/23
to Xataface
Ok...don't know WHAT in the name of all that's good is going on, but it's working. And HOW it's working is bizarre, at least to me. 

Let's say my original root directory was /srv/www/htdocs/APPLICATION.  Fine...was working with 2.x with no problems on older
server. So of course, I copied everything over in the same structure to the new server, and got the error(s) above. Following Steve's
advice, I created a new directory of /srv/www/htdocs/APP.  Test 'hello world' worked...interesting. Since I had nothing to lose, I 
literally just copied my original directory contents to the new folder...and it all worked. No errors/problems/whining. Had to remove
some references to the control panel, but other than that...everything going.

And all I did was change the base directory. Not sure why that would make a difference, since all the references in the old location
were identical to the old server. 

Reply all
Reply to author
Forward
0 new messages