2015-12-18 14 views
6

Plik istnieje w ścieżce, ale php nie może załadować pliku ini. Co próbuję - zmienić chmod, chown, zmienić ścieżkę konfiguracji. Brak wyników.PHP 7.0.1 nie mógł załadować pliku ini

# /opt/php7/bin/php -i 
phpinfo() 
PHP Version => 7.0.1 

System => Linux portal-app 3.8.13-68.1.3.el7uek.x86_64 #2 SMP Wed Apr 22 11:51:54 PDT 2015 x86_64 
Build Date => Dec 18 2015 10:01:55 
Configure Command => './configure' '--prefix=/opt/php7' '--exec- prefix=/opt/php7' '--enable-fpm' '--with-fpm-user=user' '--with-fpm-group=nginx' '--disable-cgi' '--disable-short-tags' '--with-openssl' '--with-zlib' '--with-curl' '--with-snmp' '--with-xmlrpc' '--with-gd' '--with-jpeg-dir' '--with-png-dir' '--with-zlib-dir' '--enable-gd-native-ttf' '--with-freetype-dir' '--with-gettext' '--enable-exif' '--enable-intl' '--enable-ftp' '--enable-zip' '--with-mcrypt' '--with-imap=/opt/distrib/php7/ext/imap-2007f' '--with-imap-ssl' '--with-ldap' '--with-ldap-sasl' '--enable-mbstring' '--enable-soap' '--enable-pcntl' '--enable-sockets' '--enable-bcmath' '--enable-mysqlnd' '--with-pdo-mysql' '--with-pdo-pgsql' '--with-pgsql' '--with-libdir=lib64' '--with-fpm-systemd' 
Server API => Command Line Interface 
Virtual Directory Support => disabled 
Configuration File (php.ini) Path => /opt/php7/lib 
Loaded Configuration File => (none) 
Scan this dir for additional .ini files => (none) 
Additional .ini files parsed => (none) 
PHP API => 20151012 
PHP Extension => 20151012 
Zend Extension => 320151012 

# ls -la /opt/php7/lib 
drwxr-xr-x 15 root root 4096 дек 8 09:24 php 
-rwxr-xr-x 1 php nginx 760 дек 18 10:12 php.ini 
+0

jaki jest wynik działania 'ls -Z' czy sprawdziłeś logi selinux? – bansi

+0

SELinux jest wyłączony – Vovan4elli

+0

hmmm nie mam wtedy pomysłu. ale jedna rzecz, którą zauważyłem, to że nie potrzebujesz uprawnienia do wykonywania php.ini. – bansi

Odpowiedz

5

strace pomógł mi znaleźć problem.

# echo "<?php phpinfo() ?>" | strace /opt/php7/bin/php 2>&1 | grep php.ini 
open("/etc/php7/php.ini/php-cli.ini", O_RDONLY) = -1 ENOTDIR (Not a directory) 
open("/opt/php7/bin/php.ini", O_RDONLY) = -1 ENOENT (No such file or directory) 
open("/etc/php7/php.ini/php.ini", O_RDONLY) = -1 ENOTDIR (Not a directory) 

Nie rozumiem dlaczego, ale PHP szuka w niewłaściwym folderze. Wydaje się, że zmiana with-config-file-path bez make clean powoduje problem.

Dodałem --with-config-file-path=/opt/php7/lib do ./configure i wykonałem make clean && make && make install.

To rozwiązało problem.

+0

Znalazłem to samo: '/ etc/php7' nie działałoby, ale'/etc/php7/cli' zrobił. Nie jestem pewien, czy jest to 'make clean' lub dodatkowy poziom katalogu. Dzięki, w każdym razie! – halfer

Powiązane problemy