2013-07-24 15 views
9

Udało mi się pomyślnie zainstalować PHP-FPM przy użyciu homebrew.Zatrzymywanie "php-fpm" (instalacja homebrew) Mac OSX 10.8.2

Mam skonfigurowany mój plik nginx.conf do pracy. Jednak, gdy robię w terminalu:

$: php-fpm 

pojawia się błąd:

[24-Jul-2013 19:58:34] ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2) 
[24-Jul-2013 19:58:34] ERROR: failed to load configuration file '/private/etc/php-fpm.conf' 
[24-Jul-2013 19:58:34] ERROR: FPM initialization failed 

Jednak moja nginx pracuje bez zarzutu.

Oto plik nginx.conf zgodny z uruchomionym Yii.

server { 
     listen  80; 
     server_name campusplugin; 
     set $host_path "/var/www/campusplugin"; 

     root $host_path; 

     set $yii_bootstrap "index.php"; 

     charset utf-8; 

     #access_log logs/host.access.log main; 

     location/{ 
      index index.html $yii_bootstrap; 
      try_files $uri $uri/ /$yii_bootstrap?$args; 
     } 

     location ~ ^/(protected|framework|themes/\w+/views) { 
     deny all; 
     } 


     #avoid processing of calls to unexisting static files by yii 
     location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { 
     try_files $uri =404; 
     } 


     # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 
     # 
     location ~ \.php$ { 
      fastcgi_split_path_info ^(.+\.php)(.*)$; 

      #let yii catch the calls to unexising PHP files 
      set $fsn /$yii_bootstrap; 
      if (-f $document_root$fastcgi_script_name){ 
      set $fsn $fastcgi_script_name; 
      } 

      root   /var/www/campusplugin; 
      include fastcgi.conf; 
      fastcgi_intercept_errors on; 
      fastcgi_pass 127.0.0.1:9000; 
      fastcgi_index index.php; 
      include  fastcgi_params; 
      fastcgi_param SCRIPT_FILENAME $document_root$fsn; 

      fastcgi_param PATH_INFO  $fastcgi_path_info; 
      fastcgi_param PATH_TRANSLATED $document_root$fsn; 

     } 

     # deny access to .htaccess files, if Apache's document root 
     # concurs with nginx's one 
     # 
     location ~ /\.ht { 
      deny all; 
     } 
    } 

Jestem również nie mógł stop PHP-FPM. Muszę to zatrzymać, ponieważ trochę zmodyfikowałem php.ini. Jaka jest metoda?

service php-fpm restart 
-bash: service: command not found 

Gdzie się mylę?

Nawet kiedy piszę: php-fpm -v Dostaję:

php-fpm -v 
PHP 5.3.15 (fpm-fcgi) (built: Aug 24 2012 17:45:59) 
Copyright (c) 1997-2009 The PHP Group 
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies 

się jednak, pokazując starą php-fpm, jak miałem zainstalowany 5.4.

Pozdrawiam,

Odpowiedz

3

Dostałem go:

Sposób zrobić to następująco:

1. Do kasy php-fpm, przeznaczenie:

php-fpm php54-fpm 

2. Aby zatrzymać usługę, musimy skorzystać z SystemStarter firmy Apple, na przykład:

SystemStarter php54-fpm restart 
+0

nie działa. Czy możesz wyjaśnić? – debuggerpk

+0

Czego dokładnie nie rozumiesz? Pierwszy czy drugi? –

+3

SystemStarter już nie istnieje – naomik

5

Apple mówi: "The SystemStarter utility is deprecated."

Ale znalazłem inny wielki rozwiązanie:

  1. umieścić to w ~/Library/LaunchDaemons /: https://github.com/tarnfeld/osx-stack/blob/master/LaunchDaemons/org.php-fpm.plist

  2. Zmiana ścieżki w tym plist plik według twoich ścieżek (np mój php-fpm wykonywalny jest w/usr/bin zamiast/usr/local/sbin)

  3. umieścić następujące informacje w nowym pliku w katalogu/usr/sbin/lub/usr/local/sbin/

.

/#!/bin/sh 
echo "Stopping php-fpm..." 
launchctl unload -w /Users/<home-folder>/Library/LaunchDaemons/org.php-fpm.plist 
echo "Starting php-fpm..." 
launchctl load -w /Users/<home-folder>/Library/LaunchDaemons/org.php-fpm.plist 
echo "php-fpm restarted" 
exit 0 

upewnić, że katalog jest w $ PATH

Teraz można nazwać 'php-restart', aby ponownie uruchomić PHP-FPM

(Dzięki another post)

+0

'/ Users/' może być zastąpiony przez '~'. Więc '/ Users//Library's jest tym samym co' ~/Library' – Maxime

0

Jeśli używasz Maca, możesz sprawdzić, czy działa php-fpm?

można użyć polecenia: php-fpm -t

Teraz można zobaczyć pytanie! I jak rozwiązać ten błąd w linii poleceń!