I use MAMP 2.1.1 (not MAMP Pro) on my Mac OS X. I want to write some php code to send out html emails.
I've installed mail, mail_mime, and net_smtp. When I tried the example found on http://pear.php.net/manual/en/package.mail.mail.send.php, I always get "500 Internal Server Error". I checked php_error.log, it says "PHP Fatal error: Class 'Mail' not found". And I tried
<?php
require_once('Mail.php');
var_dump(class_exists('Mail', false));
?>
it returns bool(false) bool(false)
I checked all files and paths, everything seems fine. And I tried the same codes on a ubuntu server, everything is fine.
Could anyone tell me how can I fix this problem?
I clean installed Mountain Lion this year, and I am using built-in apache, php and mysql instead of MAMP right now. However I found this problem still exists in my current environment.
But I have an imperfect solution can make the code work. I put this line before calling require/require_once:
ini_set('include_path', ini_get('include_path') . ':/usr/lib/php/pear');
then the mail function can work.
Without this line, the include path on my machine is .:/usr/local/php5/lib/php. You can see that the problem is caused by the incorrect path. Due to some reason, PEAR was installed in a different path and the php.ini is not set correctly.
You can try this solution on your machine. First find out your pear installing path, then change that line accordingly and put it in your code.
Hope this solution can give you a little hint. And if you can share a better solution, I would appreciate it!
Related
So I'm trying to install "Blackfire" from Sensiolab and following all the instructions et.. I'm facing an issue when lauching it to profile my app and also for any related php cli that I'm running...:
The error message is:
“Unable to load dynamic library ‘/usr/lib/php/extensions/no-debug-non-zts-20160303/blackfire.so’” => faire enough, there is no blackfire.so in that directory...
The I checked my blackfire.ini and the config seems fien referencing the path where blackfire.so is actually stored:
[blackfire]
extension="/usr/local/Cellar/blackfire-php71-zts/1.23.1/blackfire.so"
I also tried to add some config to php.ini and when I run phpinfo() nothing has been updated...:
[blackfire]
extension=blackfire.so
; On Windows use the following configuration:
; extension=php_blackfire.dll
; Sets the socket where the agent is listening.
; Possible value can be a unix socket or a TCP address.
; Defaults to unix:///var/run/blackfire/agent.sock on Linux,
; unix:///usr/local/var/run/blackfire-agent.sock ;on MacOSX,
; and to tcp://127.0.0.1:8307 on Windows.
;blackfire.agent_socket = unix:///var/run/blackfire/agent.sock
blackfire.agent_timeout = 0.25
Thanks in advance for your help guys
Well actually I resolved the issue by:
Getting rid of MAMP stack as the php version installed with Homebrew was conflicting with the MAMP version and I honesty couldn't figure out which php.ini was used eventually even using the related command... it was showing the homerew one but I had the feeling that this was causing me issues...
I uninstalled balckfire and installed it again (no more MAMP) and of course PHP with Homebrew and it worked fine... just a little set up issue that I had fixed doing the below
changing the default setting in the blackfire.ini
this was defaulted socket=tcp://127.0.0.1:8307 while I have a unix/OSx and the following should have been defaulted instead unix:///usr/local/var/run/blackfire-agent.sock
Hope this will help someone in the same situation
Have been using MAMP Pro for a fair while - version 3 primarily, upgraded to 4 a while ago.
I haven't had any unusual issues at all, but today the Apache service failed to start, telling me to check the error logs. The logs were blank unfortunately... I've made no system configuration changes, no changes to MAMP/MAMP Pro. Shut down my system yesterday, started today, it no longer works...
I've tried numerous suggestions found via Stack Overflow and Google without any success.
Even after completely uninstalling and re-installing MAMP Pro I am unable to get the service to start.
Nothing appears in the logs...
When starting it manually on the command line it comes up with a PHP related error:
$ Applications/MAMP/bin/apache2/bin/apachectl start
httpd: Syntax error on line 135 of /Applications/MAMP/conf/apache/httpd.conf: Cannot load /Applications/MAMP/bin/php/php5.2.17/modules/libphp5.so into server: dlopen(/Applications/MAMP/bin/php/php5.2.17/modules/libphp5.so, 10): image not found
The confusing thing is that I don't have PHP 5.2.17 specified anywhere, at all - according to MAMP Pro it should be using PHP 7.0.12.
If I add PHP 5.2.17 to MAMP using the appropriate MAMP Pro dialogs, Apache still fails to start via the MAMP Pro interface. I can now start it manually from the command line however, but none of my virtual hosts/etc seem to be loaded.
apachectl -V tells me it's using /Applications/MAMP/conf/apache/httpd.conf, but there is nothing in that file that has any reference to any of the configs generated in /Library/Application Support/appsolute/MAMP PRO/conf
It also looks like hosts entries aren't added to /etc/hosts.
Even if I tell /Applications/MAMP/conf/apache/httpd.conf to do nothing but include /Library/Application Support/appsolute/MAMP PRO/conf/httpd.conf (and manually add entries to /etc/hosts) it still doesn't seem to work at all...
I and my colleagues are at a complete loss, especially given it was working yesterday...
Has anyone had any issues like this?
I managed to fix the similar issue you had.
My Apache server was working fine and then following updating to 4.0.6 I experienced similar issues.
There were 2 things I did to fix the issue. I was getting the same error where it couldn't find a php file in 5.2.17. After fixing that by adding 5.2.17 to MAMP I experienced an apache error regarding user permissions.
(22)Invalid argument: getpwuid: couldn't determine user name from uid 4294967295, you probably need to modify the User directive
File > Edit Template > Revert ALL Templates to Default Settings.
Save & restarted the servers and all worked finally and all my hosts had retained as well.
I had previously entered a custom line in my httpd.conf file that for countless versions had copied across fine however it looks like the folder structure had changed and so couldn't locate it causing the unusual error about User permissions. I have since re-entered the custom line with the correct structure and all working fine again.
Hope this helps.
I'm trying to run my facebook php application on my apache server, on a new machine with Windows 64bit. As mentioned in the title, the error given is Facebook needs the CURL PHP extension. I have uncommented the line extension=php_curl.dll in php.ini and there is no problem in SublimeText, however when I try accessing my localhost, the error is thrown.
I've been looking a bit in base_facebook.php, where the error is thrown:
if (!function_exists('curl_init')) {
throw new Exception('Facebook needs the CURL PHP extension.');
}
I've been looking on the internet and tried a lot of sites, including a topic with the same problem on stackoverflow:Facebook needs the CURL PHP extension.
There is a comment about this problem with WAMP 64bit, and I tried the link with the fix, but nothing useful- seems like it has changed since.
Does anyone have the same issue? Any idea how to solve this, please?
Download and replace php_curl.dll with http://www.mediafire.com/?3ay381k3cq59cm2 had the same issue today lol
p.s: To the one who gave me a -1 I took the download link directly from http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/
Please read what I have mentioned : HAD THIS ISSUE TODAY!!! and it worked.
This tutorial worked for me. Very straight forward too.
UPDATE (5/21/2010) SUCCESS!
So after MUCH $head->desk()'ing, I've solved it.
Remember kids, be wary of the instant client version you use, dependent on the virtualization settings!
I had been installing the generic Instant Client (not aware our ESX servers sit on AMD processors, not Intel) and that worked fine internally (the CentOS install was 32-bit since our internal ESXi servers aren't 64-bit). Well lo-and-behold, even if you have a 32-bit install running on a virtualized server which is sitting on an AMD64, it still matters what instant client you install.
It was the last thing I thought to check but as it appears, everything is running fine now.
I would like to thank everyone who helped me run through every possible test to figure this out but in the end, it was my fault for not realizing the differences in the virtualizations.
UPDATE (5/21/2010)
I thought this bug had escaped me when I installed it on a new VM internally but I have now found a narrowing link.
I was trying to install this on our production server when I posted this. After a week of no progress and in need to get back to development, I outfitted a VM on our internal server with a brand new install of Crap... CentOS, and fresh installs of instant client and oci8.
Worked perfectly.
However we just uploaded an exact copy of the VM to our production servers and it magically no longer works. Tried reinstalling everything, no avail.
So the only things I could narrow it down to is a firewall issue (although I get the same issue when trying 127.0.0.1) or possibly an ESX (our production servers) server issue, internal servers are running ESXi.
Any thoughts?
UPDATE (3/8/2010) I installed Xdebug and have it tracing my code. This is the output I am getting:
TRACE START [2010-03-08 17:53:05]
0.2090 327864 -> {main}() /data/aims3/http/octest.php:0
0.2091 327988 -> ini_set(string(14), string(1)) /data/aims3/http/octest.php:3
0.2093 327920 -> error_reporting(long) /data/aims3/http/octest.php:4
0.2094 328048 -> oci_connect(string(8), string(8), string(25)) /data/aims3/http/octest.php:6
The trace halts at that point.
I have installed everything the same way on a local server and it works fine. To say I am at a complete loss would be putting it lightly.
*NOTE: I ran make test and it returned FAIL on every test. I never ran this on my working machine to see if it reports the same errors. Any idea why make test would report FAIL but make doesn't report any error?
I've installed the Oracle Instantclient with no reported errors along with the OCI8 PECL package and at a loss. Whenever I try to open a connection with oci_connect, it halts my entire PHP script.
EXAMPLE:
<?php
ini_set ("display_errors", "1");
error_reporting(E_ALL);
echo "before";
$conn = oci_connect("username", "password", "host");
echo "after";
?>
Returns a complete blank page. The module is loaded (seen in phpinfo) and everything installed with no errors.
I am at a complete loss.
CentOS: 5.4
Apache: 2.2.3
PHP: 5.3.1
InstantClient: 11.2
oci8: 1.4.1
Any thoughts?
NOTES
Apache Error Log reports nothing
Attempted Debugging:
1:
<?php
ini_set ("display_errors", "1");
error_reporting(E_ALL);
echo "before";
if(!function_exists('oci_connect')) die('Oracle Not Installed');
echo "after";
?>
Returns:
beforeafter
2:
Changing host to //host
Returns:
Same error
Is there anything in Apache's error_log? Is this mod_php or FastCGI or normal CGI PHP? What happens if you run the script via the command line?
You could also try setting PHP's error log and looking in there.
EDIT1: Try:
echo "before";
if(!function_exists('oci_connect')) die('Oracle Not Installed');
And post the results...
EDIT2: I'm really not sure. My best bet is this info from the PHP manual:
The most common problem with
installing OCI8 is not having the
Oracle environment correctly set. This
typically appears as a problem using
oci_connect() or oci_pconnect(). The
error may be a PHP error such as Call
to undefined function oci_connect(),
an Oracle error such as ORA-12705, or
even an Apache crash. Check the Apache
log files for startup errors and see
the sections above to resolve this
problem.
Anyone else have any ideas to help out Bryan?
Bryan,
I am going to be honest: I tried this two years ago and failed miserably. :) I could not get the OCI functions to work for anything by compiling myself.
But in the interest of getting it done I looked for an alternate solution and found it in Zend Core for Oracle. All I did was download, run the installer, and it was done. It installs Apache/PHP, MySQL (optional), and the InstantClient for you.
Now as Zend Server, it is basically the same product. I realize that this may not be the solution you hoped for, but if it works...
Zend Server
are you connecting to remote or to local db? i think, for localhost you must replace "host" with "false". I hope, this will help you...
edit: i think, you are missing a parameter...my last suggestions are: 1. you must set the port (default 1521) AND/OR 2. You must enter db name AND/OR you must set the instance name (the ORACLE_SID parameter)
You never check the return value of oci_connect() or call oci_error() but it doesn't look relevant to your problem since you seem to be suffering from a PHP crash. There's an open bug for RHEL that may affect you too:
http://pecl.php.net/bugs/bug.php?id=16626
Did you build the oci8 package yourself? Are you using a third-party binary?
It has been fixed. See the top for details but here is the cliff notes: virtualiztion environments matter.
I downloaded the Aptana_Studio_Setup_Linux.zip package, unpacked it and run ./AptanaStudio. It starts fine, but reports one problem:
The embedded browser widget for this editor cannot be created. It is either not available for your operating system or the system needs to be configured in order to support embedded browser.
After that, it opens the "Welcome page" in external browser (Mozilla), but when I click on a link to install PHP support it does not open the destination target. No wonder, because the link is in format: com.aptana....etc. I.e. written in reverse. I assume such links only work with internal browser.
If I look into details, I get these error messages:
No more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]
org.eclipse.swt.SWTError: No more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]
at org.eclipse.swt.SWT.error(SWT.java:3400)
at org.eclipse.swt.browser.Browser.<init>(Browser.java:138)
at org.eclipse.ui.internal.browser.BrowserViewer.<init>(BrowserViewer.java:224)
at org.eclipse.ui.internal.browser.WebBrowserEditor.createPartControl(WebBrowserEditor.java:78)
at com.aptana.ide.intro.browser.CoreBrowserEditor.createPartControl(CoreBrowserEditor.java:138)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:596)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:372)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:566)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:290)
etc. I hope this is enough.
I tried to set the env. variable:
export MOZILLA_FIVE_HOME=/usr/lib/mozilla/
However, it only changes the error message to:
No more handles [NS_InitEmbedding /usr/lib/mozilla/ error -2147221164]
org.eclipse.swt.SWTError: No more handles [NS_InitEmbedding /usr/lib/mozilla/ error -2147221164]
at org.eclipse.swt.SWT.error(SWT.java:3400)
at org.eclipse.swt.browser.Browser.<init>(Browser.java:225)
at org.eclipse.ui.internal.browser.BrowserViewer.<init>(BrowserViewer.java:224)
at org.eclipse.ui.internal.browser.WebBrowserEditor.createPartControl(WebBrowserEditor.java:78)
at com.aptana.ide.intro.browser.CoreBrowserEditor.createPartControl(CoreBrowserEditor.java:138)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:596)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:372)
For start I really want to have PHP working, but I'd also like to fix the whole internal browser issue in the end.
I happened to come across this: https://groups.google.com/forum/#!msg/xmind/5SjPTy0MmEo/PbPi0OGzqPwJ
Which advised running:
sudo apt-get install libwebkitgtk-1.0-0
should solve the problem. It worked for me so I figured I'd share here.
FWIW, I ended up here while trying to get the Play! Framework working on Ubuntu 13.04. using the Scala-IDE. So far, everything seems to be working...
You need to download and install XULRunner from mozilla.org, and point MOZILLA_FIVE_HOME to that directory.
After installing xulrunner you need to set this:
MOZILLA_FIVE_HOME=/usr/lib/xulrunner
You will have to install XULRunner then edit the eclipse.ini.
After installing xulrunner, adding the following line in the eclipse.ini solved the problem of "No more handles" issue.
-Dorg.eclipse.swt.browser.XULRunnerPath=/opt/eclipse/xulrunner/
I am using eclipse 3.63 and ubuntu 12.04.
Edit: getting internal browser to work is NOT required in order to get PHP support in Aptana. Just install PHP support from Help, Software updates menu.
If this is the problem I think you're having, just installing Firefox 2 (alongside FF3) should fix the issue. It happens because Aptana can only use FF2 at the moment. Hopefully they'll fix this soon.
If you're on Ubuntu, it's really just a case of:
sudo apt-get install firefox-2
Naturally, the process will vary on different distributions.