问题
I've been having problems with Phusion Passenger since upgrading to 10.13. I've read several articles about the root cause of this issue (most of which are over my head, quite frankly) but I was under the impression that Passenger 5.1.12 was supposed to solve this problem. Nevertheless, it has not for me and Apache crashes with the following log entry:
httpd[31444]: objc[31444]: +[__NSCFConstantString initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
Any pointers would be greatly appreciated!
回答1:
If you want to stick with Apache, until Apple patches their build, apparently your options current are to:
- Use a non-system apache (so it doesn't have apple's patches)
- Set the OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES env var to the apache launchd plist (requires disabling SIP)
- Add PassengerHighPerformance on to your virtualhost if your app can work that way
- Use a case-sensitive filesystem (requires a fresh install of macOS)
None of those sounded particularly attractive to me, so I installed and migrated over to nginx (I've been meaning to anyway, for some time now).
来源:https://stackoverflow.com/questions/48254851/phusion-passenger-5-1-12-osx-10-13-server-5-4