Skip to main content

[solved] require_once(), include_once() failed to open stream: No such file or directory

Pred skoraj letom sem opazil, da ima WordPress (ta blog) težave z določenimi temami in dodatki. Takrat se nisem posebej poglobil v problem, je pa nastal tale zapis: require_once: PHP, PEAR, WordPress, Apache,…? problem. Danes sem se problema ponovno lotil in našel rešitev.

Problem je bil v tem, da je funkcija require_once() narobe prebrala pot do želene datoteke. Primer je spodaj:

Warning: require_once(share-widget.php) [function.require-once]: failed to open stream: No such file or directory in ��� e/www/humerca.com/wordpress/wp-content/plugins/share-and-follow/share-and-follow.php on line 1989

Fatal error: require_once() [function.require]: Failed opening required ‘share-widget.php’ (include_path=’/usr/share/pear’) in ��� e/www/humerca.com/wordpress/wp-content/plugins/share-and-follow/share-and-follow.php on line 1989

Rešitev sem našel v tem, da se odstranil pecl paket APC.

# pecl uninstall APC

Ker to ni pomagalo sem  v /etc/php.d/apc.ini zakomentiral (spredaj dodaš ;) vrstico:

extension=apc.so

Namestitev PHP 5.2.x za CentOS

Trenutno je 5.1.6 uradna verzija rpm paketov PHP za CentOS. Ko sem želel namestiti RoundCube Webmail je zahteval verzijo vsaj 5.2. In potem sem našel zapis na Bluhalo IT. Najprej moraš dodati Remi repositorij:

wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm
wget http://rpms.famillecollet.com/el5.i386/remi-release-5-4.el5.remi.noarch.rpm
rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm

Sedaj je repositorij nameščen v sistemu, vendar še ni vključen. In ker ne želiš, da se vsi paketi nameščajo z tega repositorija, ga sploh ne vključiš, ampak vpišeš sledeče:

yum –enablerepo=remi update php

Sedaj bi morala biti zadnja verzija PHP-ja nameščena:

#php -v

V primeru, da yum javi težave zaradi nekompatibilnosti s paketi mysql, dodaš pri posodobitvi še paket mysql:

yum –enablerepo=remi update php mysql