Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: JA5U - 25.08.16 - klo:22.42
-
Moi
Tässä iltapuhteina yritän hieman LEMPiä.
En pääse tuosta virheestä eroon, kun yritän avata PhpMyAdminia.
Se on asennettu /usr/share/nginx/html/phpmyadmin
Nginxin conffi tuon osalta
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
deny all;
}
location /phpmyadmin {
index index.html index.htm index.php;
#alias /usr/share/phpmyadmin$1;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_intercept_errors on;
}
}
/usr/share/nginx/html/index.html aukeaa, mutta se ei tokikaan kulje PHP tulkin läpi.
Lisäsin conffiin:
try_files $uri =404;
ja antoin sitten 404. Eli ei riitä oikeudet tai yrittää jostain muualta?
Virheloki
2016/08/25 22:48:50 [error] 6916#6916: *1 FastCGI sent in stderr: "PHP message: PHP Warning: Unknown: failed to open stream: Success in Unknown on line 0
Unable to open primary script: /usr/share/nginx/html/phpmyadmin (Success)" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /phpmyadmin HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "localhost
-
Ehkä tarvitset tämänkaltaisen lohkon asetustiedostoosi.
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
-
Ehkä tarvitset tämänkaltaisen lohkon asetustiedostoosi.
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Nyt tulee siis 404. Lokin mukaan näyttäs hakevan tiedostoa ihan oikeasta paikasta.
Omistaja www-data ja ryhmä root. Pitäisikö näillä toimia?
-
Olen kyllä nyt niin hukassa tämän kanssa. Vaikea hahmottaa, että mitä on missäkin.
Miksei kaikki palvelimeen liittyvät paketit voisi olla yhden kansion alla?
Miksi php:n laajennukset pitää olla eri paikassa kuin itse php?
Nyt se phpmyadmin herjaa ettei löydy mbstring laajennusta.
On ainakin PHPtä konffattu, ettei siitä pitäis olla kiinni.
Tämmöstä kokeilin säätää, mutten tiedä toimiiko oikealla tavalla:
~$ php -i > grep "mbtring"
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/bz2.so' - /usr/lib/php/20151012/bz2.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/curl.so' - /usr/lib/php/20151012/curl.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/gd2.so' - /usr/lib/php/20151012/gd2.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/intl.so' - /usr/lib/php/20151012/intl.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/mysqli.so' - /usr/lib/php/20151012/mysqli.so: undefined symbol: mysqlnd_connect in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/pdo_mysql.so' - /usr/lib/php/20151012/pdo_mysql.so: undefined symbol: pdo_parse_params in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/soap.so' - /usr/lib/php/20151012/soap.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/tidy.so' - /usr/lib/php/20151012/tidy.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/xmlrpc.so' - /usr/lib/php/20151012/xmlrpc.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20151012/xsl.so' - /usr/lib/php/20151012/xsl.so: undefined symbol: php_dom_create_object in Unknown on line 0
PHP Warning: Module 'exif' already loaded in Unknown on line 0
PHP Warning: Module 'fileinfo' already loaded in Unknown on line 0
PHP Warning: Module 'gettext' already loaded in Unknown on line 0
PHP Warning: Module 'mbstring' already loaded in Unknown on line 0
PHP Warning: Module 'sockets' already loaded in Unknown on line 0
-
Pitääkö jokaista PHP.INI tiedostoa muokata?
Eli pitääkö cli/cgi/fpm alla olla samanlaiset ini tiedostot vai miten tämä nyt toimii?
Kyseessä siis nginx+php-fpm.
phpmyadmin herjaa jatkuvasti jonkun moduulin puutteesta ja jos sen "enabloi", niin sitten tulee PHP virheitä "PHP Warning: Module 'exif' already loaded in Unknown on line 0".
Ja miksei se voi kerralla näyttää, että mitkä kaikki puuttuvat? Aina yhtä kerrallaan vain todetakseen, että jaa vielä yksi...ja vielä yksi..ja vielä yksi.
Selkeästi se käy läpi noita vaadittavia laajennuksia, niin miksi se heti ensimmäiseen katuu eikä tarkasta loppuja?
Kyseessä on kuitenkin vain tarkistus eikä vielä varsinainen ohjelman ajo, jolloin sen voisi kuvitella lopettavan suorituksen.
-
Jokaisella PHP:n käyttöliittymällä on oma php.ini-tiedosto. Käynnistä php-fpm uudelleen PHP-laajennusten käytöönoton jälkeen, niin saat uudet laajennukset myös sen käyttöön.
-
Jokaisella PHP:n käyttöliittymällä on oma php.ini-tiedosto. Käynnistä php-fpm uudelleen PHP-laajennusten käytöönoton jälkeen, niin saat uudet laajennukset myös sen käyttöön.
Jep, näin ymmärsin, kun aloin kaivella asiaa.
Mutta miten voi selvittää, että mistä kautta nuo PHP kutsut menevät?
En pääse kärryille, että mitä pitäisi muokata, kun minkään ini muokkaus ja ohjelmien uudelleenkäynnistys ei vaikuta.
Ja miksi jokainen extension on jaettu omaksi INI tiedostoksi mods-available kansioon?
Kyseessä siis PHP7.
-
Kyllä mulla menee niin käämit näiden kanssa.
Nyt koko fpm ei voi käynnistyä, kun se siellä kaksi "poolia" päällekäin (heti puhtaan asennuksen jälkeen).
Vaikeapa sitä on saada toimimaan, kun koko roska on jo lähtökohtaisesti rikki.
-
Minulla riitti tuoreessa Ubuntu-asennuksessa symlinkin luonti ja symlinkin omistajan vaihto.
sudo ln -s /usr/share/phpmyadmin /var/www/html
cd /var/www/html/
sudo chown www-data: phpmyadmin
-
Kylläpä oli taas vääntö, mutta nyt toimii. Ja toimii vieläpä nopeasti :)
Nyt pitäisi sitten jaksaa keskittyä vielä koodaamiseenkin kaiken tämän muun jälkeen...
-
Kylläpä oli taas vääntö, mutta nyt toimii. Ja toimii vieläpä nopeasti :)
Nyt pitäisi sitten jaksaa keskittyä vielä koodaamiseenkin kaiken tämän muun jälkeen...
Mitä siis piti tehdä että sai toimimaan?
-
Kylläpä oli taas vääntö, mutta nyt toimii. Ja toimii vieläpä nopeasti :)
Nyt pitäisi sitten jaksaa keskittyä vielä koodaamiseenkin kaiken tämän muun jälkeen...
Mitä siis piti tehdä että sai toimimaan?
php-fpm konffitiedostoista piti poistaa pool.d kansion alta www0.conf tms. "ylimääräinen".
nginx piti konffata uusiksi eli phpmyadminille vhost ja luoda tuo em. kaltainen symlink.