Category Archives: PHP

Typo3 Replace old getPageLink in an extbase controller

If you wounder how to create links in an extbase controller instead of using the old pi_getPageLink methode you should have a look at this:

$this->controllerContext->getUriBuilder()->reset()
  ->setArguments([
    'tx_myext[action]'=>'show', 
    'tx_myext[param]'=>$model->getUid() ])
  ->setTargetPageUid($GLOBALS["TSFE"]->id)
  ->setCreateAbsoluteUri(true)
  ->buildFrontendUri();

To get more information you may search for getUriBuilder

Typo3 cli_dispatch.phpsh scheduler Exception ‘localconf.php is not found!’

After a system update or something else it may happen you get an Exception of your Typo3 Installation. It’s not always the main site but can also could be your “cron” scripts (cli_dispatch.phpsh)

Fatal error: Uncaught exception 'Exception' with message 'localconf.php is not found!' in ../t3lib/config_default.php:707
Stack trace:
#0 ../typo3/sysext/cms/tslib/index_ts.php(128): require()
#1 ../index.php(84): require('...')
#2 {main} thrown in ../t3lib/config_default.php on line 707


or

Fatal error: Uncaught exception 'Exception' with message 'localconf.php is not found!' in ../t3lib/config_default.php:707
Stack trace:
#0 .../typo3/init.php(206): require()
#1 .../typo3/index.php(63): require('...')
#2 {main} thrown in .../t3lib/config_default.php on line 707

Of course the line numbers could be different 😉
So …. what’s the problem? It so simple that you just forget how you solved it the last time. “Last time? I don’t remember that there was a last time!?”. But you did!
Just check the php.ini and ensure that safe_mode = Off is set. Furthermore check the open_basedir setting. Ensure that (when used at all) all needed directories are set.

PHP and APC / PECL

After installing the pear pecl extensions I got a strange error:
PHP Startup: apc.shm_size now uses M/G suffixes, please update your ini files in Unknown on line 0

This problem is very easy to fix. Ensure that you php.ini contains apc.shm_size=128M and NOT apc.shm_size=128. The M makes the differences.