I’ve installed a fresh WordPress without any plugins. Only Buddypress.
I can’t activate accounts with the activation link. Same problem.
At least you receive an activation link, mine does not work even to send an activation to the user email.
Just check if your server has sendmail installed. Or use a wordpress smtp plugin and configure it.
Anything can give me a hint, in which file i can find the code for the activation? I searched but i can’t find the right file. I want to fix it for myself.
The problem with the activation email link not working is known, but I don’t think the core team have ever been able to recreate it, so we’ve not been able to fix it. The relevant logic starts in bp_core_screen_activation().
I’ve debuged the code and the first i’ve found is, that the _GET[‘key’] does not pass. but the Get-Param ist in the URL:
/activate/?key=7ae91d5fcf392b3ac05c3a9f698e1bb2
The form just does a get request too.
// Check if an activation key has been passed
if ( isset( $_GET['key'] ) ) { }
I’ve added an else in this condition with “no key passed”. I ever get this string.
The _GET-Param is totally empty. If i add some more params, no one passed in _GET.
This is the _GET when i try: /activate/?bob=abc&key=7ae91d5fcf392b3ac05c3a9f698e1bb2
array(0) { }
Interesting. I wonder why $_GET is empty, as it’s a PHP super global. When you click on your link, does the web browser redirect? i.e. is the ?key= actually on the URL?
Beyond that; what sort of server do you have? Any particular firewall or custom redirects or proxies?
No redirect, the key is on the url.
I’ve debugged the /register action.
I’ve tried to output the _GET var. No way, is empty if i add a parameter in the url.
These seems to be a global problem in my buddypress.
But the _POST is set correctly.
no proxies
lighttpd/1.4.28 (ssl)
PHP 5.3.5-1ubuntu7.11 with Suhosin-Patch (cgi-fcgi) (built: Sep 12 2012 18:47:32)
Can it be my rewrite rule?
$HTTP["host"] =~ "^www\.xx\.de$" {
server.document-root = "/var/www/xx/wordpress"
url.rewrite-once = (
"^/(.*/)?files/$" => "/index.php",
"^/(.*/)?files/(.*)" => "/wp-includes/ms-files.php?file=$2",
"^(/wp-admin/.*)" => "$1",
"^/({_0}+/)?(wp-.*)" => "/$2",
"^/({_0}+/)?(.*\.php)$" => "/$2",
)
server.error-handler-404 = "/index.php"
}
I’ve deleted my rewrite part from the config. No change, same problem.
I’ve not used lighttpd. But: http://stackoverflow.com/a/11012569 — can you try the bottom suggestion on that answer, please?
Vaguely wondering if related to https://core.trac.wordpress.org/ticket/10458
Oh, okay… It is a problem of lighttpd. This is not the first problem with lighttpd, so i will switch to apache2. I have a test installation of wordpress, apache2 and buddypress. And it WORKS!!
I will switch my live environment soon. Thanks for this links!
Based on this thread, I’ve created a new ticket:
https://buddypress.trac.wordpress.org/ticket/5831