Bir Mac üzerinde PHP uzantısı

2 Cevap php

Ben bir PHP uzantısı yazdı ve ben Mac Apache sunucu üzerinde çalışan almak için çalışıyorum.

Örneğin, komut satırı üzerinden iyi çalışır:

$ php -r 'dl("mylib.dylib");

Ben de kaynak Apache bina denedim, ve ben çalıştırdığınızda mükemmel çalışır (Mac'in de, Apache dahili, yani hiçbir fark olarak aynı PHP kullanmak için ayarlayabilirsiniz).

Ancak, varsayılan Apache ile benim uzantısı yüklerken System Preferences-> Web Paylaşımı kullanan veya almak, eşdeğer, sbin fBapachectl, diyor:

Warning: dl() [function.dl]: Unable to load dynamic library '/usr/lib/php/extensions/mylib.dylib' - (null) in /Users/myuname/Sites/test.php on line 6

Mac Apache veya ben ayarlamak zorunda bunun için bazı izni garip bir şey var mı?

2 Cevap

Bu mimari farklılıkların neden olacağını hata tür gibi geliyor. Bir file /usr/lib/php/extensions/mylib.dylib yaparak deneyin ve mimarileri ikili dahil olduğunu görmek. Eğer kütüphane (ppc64 veya x86-64) üzerinde çalışan konum hangisi işlemci 64-bit sürümü için kod içeren emin olmak gerekir böylece IIRC, Apache, Leopard 64-bit olarak çalışır.

Gerçekten de, muhtemelen eşek sizi ısırıyor 64-bit şey. Eğer uzatma derlerken gcc '-kemer x86_64' geçen deneyin.