Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mvc, phalcon framework 4.0, PHP 7.4 #4012

Closed
AdSchellevis opened this issue Apr 1, 2020 · 3 comments · Fixed by #4921
Closed

mvc, phalcon framework 4.0, PHP 7.4 #4012

AdSchellevis opened this issue Apr 1, 2020 · 3 comments · Fixed by #4921
Assignees
Labels
feature Adding new functionality
Milestone

Comments

@AdSchellevis
Copy link
Member

AdSchellevis commented Apr 1, 2020

Phalcon 4 will likely break things.

Run into a "Wrong number of parameters" in Phalcon\Mvc\Application->handle(), while upgrading my mac some time ago.

https://docs.phalcon.io/4.0/en/upgrade

Keeping this here for tracking purposes.


Additional dependencies:

php73-pecl-psr
php73-mbstring
@AdSchellevis AdSchellevis added the feature Adding new functionality label Apr 1, 2020
@AdSchellevis AdSchellevis added this to the 21.1 milestone Apr 1, 2020
@AdSchellevis AdSchellevis self-assigned this Apr 1, 2020
@fichtner fichtner modified the milestones: 21.1, 21.7 Jan 10, 2021
@AdSchellevis AdSchellevis changed the title mvc, phalcon framework 4.0, PHP 7.3 mvc, phalcon framework 4.0, PHP 7.4 Feb 10, 2021
AdSchellevis added a commit that referenced this issue Apr 13, 2021
o replace Phalcon\Session\Adapter\Files with new Phalcon\Session\Adapter\Stream adapter
o replace router->setUriSource() with handle() parameter
o combining sessions between phalcon and legacy php seems to be a bit problematic, first issue seems to be the legacy csrf check. refactor to use phalcon's method and legacy session
AdSchellevis added a commit that referenced this issue Apr 13, 2021
o replace Phalcon\Session\Adapter\Files with new Phalcon\Session\Adapter\Stream adapter
o replace router->setUriSource() with handle() parameter
o combining sessions between phalcon and legacy php seems to be a bit problematic, first issue seems to be the legacy csrf check. refactor to use phalcon's method and legacy session
o Fix Phalcon Syslog usage in ControllerRoot (wrap in Logger class)
AdSchellevis added a commit that referenced this issue Apr 13, 2021
o session seems to miss standard prefix.
AdSchellevis added a commit that referenced this issue Apr 13, 2021
o also Gettext seems to like being wrapped...
AdSchellevis added a commit that referenced this issue Apr 13, 2021
o Gettext inheritance
AdSchellevis added a commit that referenced this issue Apr 13, 2021
o another handle()
AdSchellevis added a commit that referenced this issue Apr 14, 2021
o Volt: handle registerEngines / VoltEngine changes
o volt templates - missing session reference, bootstrap in ControllerBase
o router getRewriteUri() deprecated
o another handle() in index.php
AdSchellevis added a commit that referenced this issue Apr 14, 2021
o  Phalcon\Dispatcher::EXCEPTION_* moved to  Phalcon\Dispatcher\Exception::EXCEPTION_*
AdSchellevis added a commit that referenced this issue Apr 14, 2021
o changes in filter handling.
AdSchellevis added a commit that referenced this issue Apr 14, 2021
o fix plist
AdSchellevis added a commit that referenced this issue Apr 14, 2021
o Syslog usage changes
AdSchellevis added a commit that referenced this issue Apr 14, 2021
o refactor Validation changes
AdSchellevis added a commit that referenced this issue Apr 15, 2021
o FILTER_ALNUM - replaced FILTER_ALPHANUM
@fichtner fichtner linked a pull request Apr 15, 2021 that will close this issue
fichtner added a commit that referenced this issue Apr 15, 2021
phalcon 4 migration  #4012

o replace Phalcon\Session\Adapter\Files with new Phalcon\Session\Adapter\Stream adapter
o replace router->setUriSource() with handle() parameter
o combining sessions between phalcon and legacy php seems to be a bit problematic, first issue seems to be the legacy csrf check. refactor to use phalcon's method and legacy session
o Fix Phalcon Syslog usage in ControllerRoot (wrap in Logger class)
o session seems to miss standard prefix.
o also Gettext seems to like being wrapped...
o Gettext inheritance
o another handle()
o Volt: handle registerEngines / VoltEngine changes
o volt templates - missing session reference, bootstrap in ControllerBase
o router getRewriteUri() deprecated
o another handle() in index.php
o  Phalcon\Dispatcher::EXCEPTION_* moved to  Phalcon\Dispatcher\Exception::EXCEPTION_*
o changes in filter handling.
o fix plist
o Syslog usage changes
o refactor Validation changes
o FILTER_ALNUM - replaced FILTER_ALPHANUM
@fichtner fichtner reopened this Apr 15, 2021
AdSchellevis added a commit that referenced this issue Apr 18, 2021
o one syslog unwrapped
o testsuite return class path missing
@fichtner
Copy link
Member

% git ls-files | grep OPNsense.Base
www/nginx/src/opnsense/mvc/app/models/OPNsense/Base/Constraints/NaxsiIdentifierConstraint.php
www/nginx/src/opnsense/mvc/app/models/OPNsense/Base/Constraints/NgxBusyBufferConstraint.php

@AdSchellevis
Copy link
Member Author

@fichtner I also need to check the firewall api plugin, for nginx I propose to add a ticket for @fabianfrz to check / modify for compatibility with Phalcon 4.1.

# grep -r Phalcon /usr/plugins
/usr/plugins/net/firewall/src/opnsense/mvc/app/models/OPNsense/Firewall/Filter.php:use Phalcon\Validation\Message;

@fichtner
Copy link
Member

First build based on PHP 7.4 available. Need to check runtime and https://www.php.net/manual/en/migration74.incompatible.php for good measure.

@fichtner fichtner self-assigned this May 28, 2021
fichtner added a commit that referenced this issue Jun 14, 2021
o replace Phalcon\Session\Adapter\Files with new Phalcon\Session\Adapter\Stream adapter
o replace router->setUriSource() with handle() parameter
o combining sessions between phalcon and legacy php seems to be a bit problematic, first issue seems to be the legacy csrf check. refactor to use phalcon's method and legacy session
o Fix Phalcon Syslog usage in ControllerRoot (wrap in Logger class)
o session seems to miss standard prefix.
o also Gettext seems to like being wrapped...
o Gettext inheritance
o another handle()
o Volt: handle registerEngines / VoltEngine changes
o volt templates - missing session reference, bootstrap in ControllerBase
o router getRewriteUri() deprecated
o another handle() in index.php
o  Phalcon\Dispatcher::EXCEPTION_* moved to  Phalcon\Dispatcher\Exception::EXCEPTION_*
o changes in filter handling.
o fix plist
o Syslog usage changes
o refactor Validation changes
o FILTER_ALNUM - replaced FILTER_ALPHANUM
o missed another Syslog
o Phalcon 4 translations
o one syslog unwrapped
o testsuite return class path missing

(cherry picked from commit 3a98ebb)
(cherry picked from commit 65637ce)
(cherry picked from commit 8bf56bf)
(cherry picked from commit f3e2f8e)
(cherry picked from commit 2cce435)
(cherry picked from commit 0013259)
AdSchellevis pushed a commit that referenced this issue Aug 15, 2021
phalcon 4 migration  #4012

o replace Phalcon\Session\Adapter\Files with new Phalcon\Session\Adapter\Stream adapter
o replace router->setUriSource() with handle() parameter
o combining sessions between phalcon and legacy php seems to be a bit problematic, first issue seems to be the legacy csrf check. refactor to use phalcon's method and legacy session
o Fix Phalcon Syslog usage in ControllerRoot (wrap in Logger class)
o session seems to miss standard prefix.
o also Gettext seems to like being wrapped...
o Gettext inheritance
o another handle()
o Volt: handle registerEngines / VoltEngine changes
o volt templates - missing session reference, bootstrap in ControllerBase
o router getRewriteUri() deprecated
o another handle() in index.php
o  Phalcon\Dispatcher::EXCEPTION_* moved to  Phalcon\Dispatcher\Exception::EXCEPTION_*
o changes in filter handling.
o fix plist
o Syslog usage changes
o refactor Validation changes
o FILTER_ALNUM - replaced FILTER_ALPHANUM
AdSchellevis added a commit that referenced this issue Aug 15, 2021
o one syslog unwrapped
o testsuite return class path missing
AdSchellevis pushed a commit that referenced this issue Aug 15, 2021
Leave config write as is.  There are no other relevant migrations
for PHP 7.4 and it works well in practice already.
oshogbo pushed a commit to DynFi/opnsense-core that referenced this issue Mar 3, 2022
o one syslog unwrapped
o testsuite return class path missing
oshogbo pushed a commit to DynFi/opnsense-core that referenced this issue Mar 3, 2022
oshogbo pushed a commit to DynFi/opnsense-core that referenced this issue Mar 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Adding new functionality
Development

Successfully merging a pull request may close this issue.

2 participants