2011-11-18 34 views
8

Tôi đang thiết lập php-fpm trên máy của mình và tôi đã cài đặt nó bằng homebrew (cụ thể là homebrew-alt). Tất cả mọi thứ được cài đặt tốt và nếu tôi mở terminal và gõ lệnh "php-fpm" nó khởi động tốt. Thật không may nếu tôi cố gắng chạy bất kỳ lệnh nào như "php-fpm stop", tôi nhận được thông báo bên dưới. Có ai có bất kỳ ý tưởng gì có thể gây ra điều này hoặc làm thế nào tôi có thể làm cho nó hoạt động? Nếu tôi cố gắng giết chết quá trình bằng lệnh kill, nó có vẻ tự động khởi động lại.Sự cố dừng/tải lại PHP-FPM trên Mac Lion (OSX 10.7)

Usage: php [-n] [-e] [-h] [-i] [-m] [-v] [-t] [-p <prefix>] [-g <pid>] [-c <file>] [-d foo[=bar]] [-y <file>] 
    -c <path>|<file> Look for php.ini file in this directory 
    -n    No php.ini file will be used 
    -d foo[=bar]  Define INI entry foo with value 'bar' 
    -e    Generate extended information for debugger/profiler 
    -h    This help 
    -i    PHP information 
    -m    Show compiled in modules 
    -v    Version number 
    -p, --prefix <dir> 
        Specify alternative prefix path to FastCGI process manager (default: /usr/local/Cellar/php/5.3.8). 
    -g, --pid <file> 
        Specify the PID file location. 
    -y, --fpm-config <file> 
        Specify alternative path to FastCGI process manager config file. 
    -t, --test  Test FPM configuration and exit 

Trả lời

3

Ngoài ra, bằng cách sử dụng tín hiệu USR2 làm cho php-fpm tải lại tập tin cấu hình của nó:

kill -USR2 `cat /usr/local/var/run/php-fpm.pid` 
0

Tôi đã cài đặt php-fpm trên OSX Lion (qua macports) và sử dụng lệnh giết để dừng. Nó dường như làm việc ổn.

Bạn đang cố gắng giết trực tiếp php-fpm hoặc sử dụng tệp pid? Sẽ có rất nhiều phiên bản php-fpm, vì nó hoạt động với các tiến trình con, bạn có thể không giết ứng dụng chính. Lệnh tôi đang sử dụng là

sudo kill `cat /pid-path/php-fpm.pid` 

Tôi không biết vị trí tệp pid được đặt cho php-fpm khi được cài đặt thông qua homebrew. Nhưng bạn có thể tìm ra từ kịch bản trình biên dịch, hoặc tập tin conf của php-fpm (nếu được định nghĩa).

Bạn cũng có thể cập nhật cơ sở dữ liệu tệp từ thiết bị đầu cuối và thực hiện cuộc gọi định vị. Thử chạy các lệnh này với sudo

ln -s /usr/libexec/locate.updatedb /usr/bin/updatedb 
updatedb 

updatedb có thể mất chút thời gian để hoàn tất. Và sau đó chỉ cần làm

locate php-fpm.pid 
0

Bạn tôi cũng có thể đóng php-fpm trong Activity Monitor. Chỉ cần chọn quá trình và nhấn nút Quit.

5

Bạn có thể sử dụng Lanchctl:

Stop:

launchctl unload -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php55.plist 

bắt đầu:

launchctl load -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php55.plist 

Thích ứng số phiên bản "php55" với môi trường của bạn.

+0

Đây là cách làm sạch, thích hợp (và bạn sẽ nhận được hướng dẫn về hiệu ứng này khi cài đặt hoặc nâng cấp PHP với Homebrew). –

+0

Điều này phù hợp với tôi, ngoại trừ dấu ngã. Khi tôi gỡ bỏ dấu ngã, nó hoạt động. – NotoriousWebmaster

+0

Tôi phải tìm trong '~/Library/LaunchAgents /' để tìm đúng .plist cho php homebrew mà tôi đã cài đặt – DigitalDesignDj

1
sudo killall php-fpm 

Sử dụng lệnh này, bạn có thể giết php-fpm. Tôi đã thử, nó hoạt động.

Hệ thống: Mac OS X 10.11.4

Các vấn đề liên quan