Jump to content

Migrating to PHP 8.1


Tech Support

Recommended Posts

With KVS 6.2.0 it now supports PHP 8.1. If you want to switch to PHP 8.1, please consider the following known and potential issues:

  • KVS requirements page indicates all requirements needed for PHP. If you already have PHP 8 installed on your server on some other domain, or this is a new server, you can check KVS requirements using script from this archive. Unpack it to your www root and run from browser. Requirements are basically same as before.
  • PHP 8 adds a lot of backward incompatible changes, and if your project has lots of customizations in templates or custom PHP scripts (including 3rd-party libraries, like for example traffic trade scripts, advertising scripts and etc.), they may stop working producing fatal errors. If you switch your project, you may look into log_php_errors.txt log file accessible under Administration -> Installation info section of KVS admin panel. This will log all PHP errors from any code executed inside KVS. But lack of this file doesn't necessary mean everything is good, because this file is only used when something happens within KVS (either admin panel, or theme). If there are 3rd-party PHP files that are executed separately from KVS, you won't see any errors from them in KVS logs.

 

Known KVS issues

1. Content source view block template  in KVS default theme produces FATAL error. This may be seen when you open videos by content source like this page:

https://www.kvs-demo.com/ru/sites/sponsor-1/

In order to fix it please go to Website UI -> Page components -> include_content_source_view_block.tpl and replace this line:

{{assign var="criteria_summary" value=$data[$lang.sponsors.criteria1_field]+$data[$lang.sponsors.criteria2_field]+$data[$lang.sponsors.criteria3_field]+$data[$lang.sponsors.criteria4_field]}}

With this:

{{assign var="criteria_1" value=$data[$lang.sponsors.criteria1_field]|intval}}
{{assign var="criteria_2" value=$data[$lang.sponsors.criteria2_field]|intval}}
{{assign var="criteria_3" value=$data[$lang.sponsors.criteria3_field]|intval}}
{{assign var="criteria_4" value=$data[$lang.sponsors.criteria4_field]|intval}}
{{assign var="criteria_summary" value=$criteria_1+$criteria_2+$criteria_3+$criteria_4}}

 

2. SphinxSearch old API scripts do not support PHP 8.1. You need to update them from this archive - all PHP scripts. Please consider that old scripts in your version may be referencing non-standard sphinx index name in this line:

$config['sphinx_index'] = 'videos';

You need to check that the index name matches the default value, and update the new version of script if needed.

Also it may be possible that you've put custom changes into kvs_sphinx_search_videos.php to add some search customization, then you need to merge them into the new version as well.

Link to comment
Share on other sites

×
×
  • Create New...